Docker | 10.Docker Compose编排SpringBoot+MySQL项目

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内容

  1. [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
    
  2. [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"
    
  3. [汇总配置] 将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并启动服务

  1. [创建并进入目录] 创建并进入/home/docker_compose/mysql_and_test_springboot目录;

    # 创建目录
    mkdir /home/docker_compose/mysql_and_test_springboot
    
    # 进入目录
    cd /home/docker_compose/mysql_and_test_springboot
    
  2. [创建并编写docker-compose.yml] 使用vim创建并编写docker-compose.yml,随后:wq保存;

    vim docker-compose.yml
    

    image-20220602170009361

  3. [启动服务]docker-compose.yml所在路径下,使用docker-compose up指令启动服务

    # 启动服务
    docker-compose up
    

    image-20220602170228742

  4. [检验容器是否成功启动]

    • 重新打开一个窗口,输入docker ps -a查看容器是否成功启动:

      image-20220602170447224

    • 打开navicat尝试建立mysql连接:

      image-20220602170612311
    • 打开浏览器,在地址栏输入http://ip地址:1234/test/sayHello测试接口:

      image-20220602170800515
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值