文章目录
1.准备工作:使用dockerfile构建Springboot项目的镜像
步骤详见08.镜像构建 - 使用dockerfile构建镜像的 4.2.使用docker部署SpringBoot项目
2.编写docker-compose.yml并启动服务
docker-compose.yml文件的模板如下:
version: "3"
services:
<容器名1>:
image: <镜像1名称>:<镜像1版本>
ports:
- "<宿主机端口1>:<容器1端口>"
environment:
<环境变量名>: <环境变量值>
<容器名2>:
image: <镜像2名称>:<镜像2版本>
ports:
- "<宿主机端口2>:<容器2端口>"
environment:
<环境变量名>: <环境变量值>
每一个容器对应一个服务。本示例中一共需要启动两个容器(mysql和springboot),需要填写好对应的各项参数。
2.1.根据容器启动命令确定docker-compose.yml内容
-
[mysql] 容器启动指令如下:
docker run -d \ -p 3306:3306 \ --name=container_mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ mysql:5.6
据此,编写该容器对应的yml配置:
container_mysql: image: mysql:5.6 ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: 123456
-
[springboot项目] 容器启动指令如下:
docker run -d \ -p 1234:1234 \ --name=container_test_springboot \ test_springboot_image
据此,编写该容器对应的yml配置:
container_test_springboot: image: test_springboot_image:1.0 ports: - "1234:1234"
-
[汇总配置] 将mysql和SpringBoot项目对应的yml配置汇总起来,确定docker-compose.yml的内容如下:
version: "3" services: container_mysql: image: mysql:5.6 ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: 123456 container_test_springboot: image: test_springboot_image:1.0 ports: - "1234:1234"
2.2.创建docker-compose.yml并启动服务
-
[创建并进入目录] 创建并进入/home/docker_compose/mysql_and_test_springboot目录;
# 创建目录 mkdir /home/docker_compose/mysql_and_test_springboot # 进入目录 cd /home/docker_compose/mysql_and_test_springboot
-
[创建并编写docker-compose.yml] 使用
vim
创建并编写docker-compose.yml,随后:wq
保存;vim docker-compose.yml
-
[启动服务] 在docker-compose.yml所在路径下,使用
docker-compose up
指令启动服务# 启动服务 docker-compose up
-
[检验容器是否成功启动]
-
重新打开一个窗口,输入
docker ps -a
查看容器是否成功启动: -
打开navicat尝试建立mysql连接:
-
打开浏览器,在地址栏输入
http://ip地址:1234/test/sayHello
测试接口:
-