首先在虚拟机/云服务器上安装CentOS操作系统,我安装的是7.6版本,可以使用cat /etc/centos-release命令查看。
安装yum-utils来维护yum并提高其性能,其中-y表示自动确认。
yum install -y yum-utils
添加阿里云的Docker镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
清除并重建yum缓存
yum clean all
yum makecache
安装Docker
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
启动Docker。systemctl为system control的缩写
systemctl start docker
使用以下命令查看Docker是否启动
systemctl status docker

设置Docker为开机自启动
systemctl enable docker
配置 Docker 镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://e7n1ndig.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
运行hello-world镜像验证是否正确安装Docker
docker run hello-world

查看image和container
使用下面代码查看images(镜像)
docker images
使用下面代码查看正在运行的container
docker ps
使用下面代码查看正在运行和曾经运行过的container
docker ps -a
详细安装流程可在链接Install Docker中查看
有两种运行MySQL的方式
-d为使container后台运行-p是设置端口映射,映射规则为主机端口:容器端口-e是配置MySQL的环境,命令中设置密码为root(注意弱口令易被入侵)--name是为生成的container命名docker run -d -p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=root \
--name test-mysql \
mysql:5.7
-v表示挂载文件,将本机的文件和容器内的文件挂载起来,用于持久化保存,防止容器被清除后容器的内容全部丢失更改为自己的用户文件夹名称,没有的可以使用mkdir -p 创建docker run -d -p 3306:3306 --privileged=true \
-v /<username>/mysql/log:/var/log/mysql \
-v /<username>/mysql/data:/var/lib/mysql \
-v /<username>/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
--name test-mysql \
mysql:5.7
在实际应用中应使用第二种方式运行MySQL
在本地安装Docker
点击链接Windows安装docker
测试并连接MySQL容器
首先测试在本地能否连接虚拟机/云服务器中的Docker中运行的MySQL容器,可以使用Navicat或者IDEA中自带的Database连接插件

上图表示连接成功
测试连接成功后将对MySQL连接的配置文件改为对应云服务器中的MySQL的ip地址和密码

打包成.jar文件
将SpringBoot应用打包成一个.jar文件,点击Maven后双击package进行打包

编写Dockerfile文件
将Dockerfile文件中<.jar文件>部分改为上步骤生成的.jar文件名
Dockerfile的位置在项目目录下
FROM openjdk:8
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
ADD ./target/<.jar文件> /app/
CMD ["java", "-Xmx200m", "-jar", "/app/work-0.0.1-SNAPSHOT.jar"]
# 设置默认暴露8111端口
EXPOSE 8111
执行Dockerfile文件打包成镜像
首先启动本地Docker应用程序
再在IDEA打开Terminal,执行以下代码
docker build -t springbootdemo .
生成名为springbootdemo的镜像
进入阿里云平台注册账号并登陆,找到控制台中的容器镜像服务,创建镜像仓库后会自动生成对应的操作指南,按照操作指南将本地镜像进行上传

登陆云服务器,使用阿里云操作指南中的命令拉取对应的镜像至云服务器,再使用Docker的run命令运行即可