前提条件
-
Linux服务器
-
服务器已经安装docker
-
docker已经安装jdk镜像
-
docker已经安装mysql镜像
-
将要部署的项目的jar包打包好,项目是多模块springboot项目
部署过程
-
项目是3个模块的Spring boot项目,打出来3个jar,将这些jar包拷贝到云服务器文件夹内,我拷贝到了/usr/src/java/manyjars目录下
-
配置docker-compose.yml文件,该文件要与jar包放在同一个目录下面
docker-compose.yml配置文件内容
version: "3.4"
services:
m_one:
image: eclipse/centos_jdk8
container_name: m_one
volumes:
- /usr/src/java/manyjars/module_one-0.0.1-SNAPSHOT.jar:/usr/local/java/manyjars/module_one-0.0.1-SNAPSHOT.jar
ports:
- "8021:8021"
command: java -jar /usr/local/java/manyjars/module_one-0.0.1-SNAPSHOT.jar
m_two:
image: eclipse/centos_jdk8
container_name: m_two
volumes:
- /usr/src/java/manyjars/module_two-0.0.1-SNAPSHOT.jar:/usr/local/java/manyjars/module_two-0.0.1-SNAPSHOT.jar
ports:
- "8022:8022"
command: java -jar /usr/local/java/manyjars/module_two-0.0.1-SNAPSHOT.jar
post_entrance:
image: eclipse/centos_jdk8
container_name: post_entrance
volumes:
- /usr/src/java/manyjars/postgraduate_entrance-0.0.1-SNAPSHOT.jar:/usr/local/java/manyjars/postgraduate_entrance-0.0.1-SNAPSHOT.jar
ports:
- "8023:8023"
command: java -jar /usr/local/java/manyjars/postgraduate_entrance-0.0.1-SNAPSHOT.jar
-
启动所有jar,使用指令
docker-compose up -d
,需要到docker-compose.yml文件目录下执行这条指令
-
查看启动的容器
docker ps -a
-
使用指令
docker-compose down
,也需要到docker-compose.yml文件目录下执行这条指令,停止并删除这些容器,再次查看docker里面的容器时,
-
如果想要更换其中一个包,比如说我想更换module_two-0.0.1-SNAPSHOT.jar包,首先将服务器的原来jar重新命名,或者将新包直接替换旧包,我这里是重新命名。其次将新包复制进来。最后,module_two-0.0.1-SNAPSHOT.jar对应的容器是m_two,使用指令
docker stop m_two
,再用docker start m_two
,就可以了