阿里云操作日记

昨天买了一个超级便宜的阿里云服务器,2核2G,3M固定带宽,40G ESSD Entry云盘,搭载一个简单的系统,就想到了docker轻量级,易于管理

其实docker很好用,第一步就是安装docker

一、docker安装与端口放开

bash 复制代码
# 下载Docker安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
# 执行安装脚本
sudo sh get-docker.sh
# 启动Docker服务
systemctl start docker
# 有了前面三步基本上就搞定了
# 设置开机自启

然后你想要安装什么样子的镜像就去docker镜像官网去搜索,执行相应命令就行,如下图

其实也没有必要这么麻烦docker pull mysqldocker的命令一般是这样子的,你想要什么版本,就在mysql后面打一个冒号,然后带上版本号,如docker pull mysql:8.0.22,docker pull mysql:5.7等等。

我的MySQL启动命令如下,参考:

bash 复制代码
 #将docker的3306端口挂载到linux系统的3306端口
docker run -p 3306:3306 --name mysql \
 # 将主机的 /home/mysql/log 目录挂载到容器的 /var/log/mysql 目录,用于存储 MySQL 的日志文件。
 -v /home/mysql/log:/var/log/mysql \
 # 将主机的 /home/mysql/data 目录挂载到容器的 /var/lib/mysql 目录,用于存储 MySQL 的数据文件。
 -v /home/mysql/data:/var/lib/mysql \
 # 将主机的 /home/mysql/conf 目录挂载到容器的 /etc/mysql 目录,用于存储 MySQL 的配置文件。
 -v /home/mysql/conf:/etc/mysql \
 # 将主机的 /home/mysql/mysql-files 目录挂载到容器的 /var/lib/mysql-files 目录,用于存储 MySQL 的文件数据。
 -v /home/mysql/mysql-files:/var/lib/mysql-files \
 # 设置 MySQL 的 root 用户密码为 123456。这个参数使用了环境变量来传递密码信息。
 -e MYSQL_ROOT_PASSWORD=123456 \
 # 以后台模式运行 MySQL 容器,并使用 mysql:8.0.22 镜像作为容器镜像。
 -d mysql:8.0.22 \
 # 设置 MySQL 的字符集为 utf8mb4(支持 Emoji 表情),并使用 utf8mb4_0900_ai_ci 排序规则。这个参数可以确保 MySQL 能够正确地处理 Unicode 字符。
 --character-set-server=utf8mb4 --collation-server=utf8mb4_0900_ai_ci

做完这一切,你还要开放开放阿里云的3306端口,输入如下命令即可

bash 复制代码
# 查看防火墙状态
firewall-cmd --state
# 如果没有安装就安装防火墙
systemctl start firewalld.service
# 开放3306端口,这里如果开放其他端口之间将3306替换成你需要开放的其他端口号即可
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 加载一下
firewall-cmd --reload
# 查看本机所开放的端口
firewall-cmd --list-ports

做完这一步,还需要在阿里云操作界面,安全规则那里将3306作为tcp开放出来,如下

二、将jar包做成docker镜像

我的jdk版本用的是openjdk11,如下文件中之间选择你自己的jdk版本就行

bash 复制代码
#使用openjdk 11基本映像
FROM openjdk:11

# 创建一个目录来存放应用程序
WORKDIR /usr/src/lechat

#将JAR文件复制到容器中
COPY lechat-space-serve-1.0-SNAPSHOT.jar /usr/src/lechat

#容器启动时要运行的命令
CMD ["java", "-jar", "/usr/src/lechat/lechat-space-serve-1.0-SNAPSHOT.jar"]

三、远程debug

如下图配置Idea,2步搞定,注意:端口号不要和spring应用的端口号一样然后再copy那一行remote JVM参数

用来启动远程的jar包,例如: java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:18888 -jar userJob-0.0.1-SNAPSHOT.jar

看到这句话说明服务端应用启动成功:Listening for transport dt_socket at address: 18888,然后看到这句话说明本地环境已经连接服务器成功:Connected to the target VM, address: '121.199.26.113:18888', transport: 'socket',至此就可以打本地的端点调试了。

最近开发心得

1、接手老系统改造时一定要注意,新增表记录是否是被允许的(也就是新增的这条记录能否在现有的业务下形成业务闭环,不确认就和产品确认)本人在做多边形相交业务时,对warehouse里面的仓库进行新增设置,warehouse_settings有就更新,没有就新增,其实会影响现有业务。后来改成有就更新,没有报错提示用户先新增仓库的设置,然后再保存多边形描点。

2、改bug有影响点一定要梳理出来,让测试再回归一下。不要走经验。

3、多多自测,自测,还是自测!

相关推荐
无风听海11 分钟前
AWS CLI的profile
云计算·aws
AI_Cloud_推荐13 分钟前
DeepSeek-V4-Pro 的 4.5 和 12:不是加价,是同名不同版本
阿里云·语言模型·代理模式·ai编程·百度云
翼龙云_cloud12 小时前
亚马逊云服务器服务代理商:Bedrock 实践经验 Serverless 架构下的 AI 自动化落地
服务器·架构·serverless·云计算·aws
GPU实战笔记14 小时前
实例节点选择:创建入口与运行时稳定性的边界
云计算·a100·gpu 实例·节点选择·工作流验证
码间留白14 小时前
手把手把 GitHub 推上阿里云 ECS:Actions CI/CD 全链路避坑实录(折腾好几天,到 2 分钟见绿)
运维·阿里云·ci/cd·docker·devops·github actions
mengge.cloud19 小时前
1019Namespace ,Contexts ,Kubernetes Pod
运维·服务器·网络·云原生·容器·kubernetes·云计算
云老大-阿里云国际站代理商1 天前
网站遇到恶意爬虫和CC攻击,阿里云国际站WAF与Bot管理怎么搭配
爬虫·阿里云·云计算
着迷不白1 天前
生产环境标准的Linux系统安装到服务器
linux·云计算
Geek-Chow2 天前
01 · Why AWS Lambda: Idle Cost, Capacity Planning and Risky In-Place Deploys
云计算
workflower2 天前
超算中心聚焦高性能计算场景(HPC)
大数据·网络·人工智能·机器人·云计算·汽车