作者:杨建谦461128 | 来源:互联网 | 2023-09-24 15:01
[]()二、DockerCompose详解[]()1.使用DockerCompose步骤使用Dockerfile构建自定义镜像上传服务器,一般需要修改初始镜像行为时才需要使用。使用
[](
)二、DockerCompose详解
[](
)1. 使用DockerCompose步骤
【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
次性部署。
- 最后执行
docker-compose up
命令来创建并启动所有服务。
[](
)2. docker-compose.yml常用命令
version
描述 Compose 文件的版本信息,各版本详细信息可以参考 [官方文档](
) 。
指定 3 版本语法
version: ‘3’
services
services 节点下面的即是定义的各种服务,服务之下为容器,容器与容器直之间可以以服务名称为域名进行访问。
image
指定运行的镜像名称。
指定镜像为 mysql5.7
image: mysql:5.7
container_name
指定容器名称。
容器名称
container_name: admin_mysql
ports
指定宿主机和容器的端口映射。
映射 mysql端口
ports:
volumes
将宿主机的文件或目录挂载到容器中。
挂载 mysql 目录到容器
volumes:
-
/itwxe/dockerData/mysql/data:/var/lib/mysql
-
/itwxe/dockerData/mysql/conf:/etc/mysql
-
/itwxe/dockerData/mysql/log:/var/log/mysql
environment
配置环境变量。
设置 mysql 密码
environment:
links
连接其他容器的服务。
可以 admin_mysql 为域名访问服务名称为 db 的容器
links:
[](
)3. Docker Compose常用命令
启动所有相关容器
docker-compose up -d
指定文件启动
docker-compose -f docker-compose.yml up -d
停止所有相关容器
docker-compose stop
列出所有容器信息
docker-compose ps
停止并删除所有容器(注意数据挂载)
docker-compose down
[](
)三、SpringBoot示例
此处还是以自己写的项目为示例,我的项目依赖 MySQL、Redis、minio(非必要)。
1、打包 SpringBoot 项目镜像,打包可以参考 [Docker使用maven插件打包SpringBoot项目](
)。
2、我的项目启动依赖 MySQL 中的 sunny 库,首先得创建容器,挂载宿主机目录,可以参考 [Docker搭建MySQL并挂载数据](
)。
3、项目依赖 Redis 镜像自定义配置启动,可以参考 [Docker搭建Redis5.0并挂载数据](
)。
4、修改项目 MySQL 和 Redis 使用别名访问,以 MySQL 为例。
修改前
jdbc:mysql://192.168.5.33:3306/sunny?useUnicode=true&characterEncoding=utf8mb4&serverTimezOne=GMT%2B8
修改后