1. docker compose说明
目前docker新版本已经集成docker compose工具,直接使用"docker compose"命令就可以操作
2. docker-compose.yml文件说明
docker compose命令的运行需要docker-compose.yml文件的支持,可以指定文件位置,也可以在文件同目录运行命令
docker-compose.yml 示例文件
version: "3.8"
networks:
my_net:
name: my_net
ipam:
config:
- subnet: 172.19.8.0/24
services:
mysql:
container_name: sc-mysql
image: mysql:8
restart: always
environment:
TZ: Asia/Shanghaidoc # 配置时间为上海时间
MYSQL_ROOT_PASSWORD: sc@123456 # 配置mysql密码
MYSQL_ROOT_HOST: '%' # 设置用户开启远程连接
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "10" # 设置日志文件个数
ports:
- 13306:3306
networks:
my_net:
ipv4_address: 172.19.8.100
command: [
'--character-set-server=utf8mb4', # 设置库的字符集
'--collation-server=utf8mb4_general_ci', # 默认排序方式
'--default-authentication-plugin=mysql_native_password' # 远程登录密码与用户设置的密码一致
]
volumes:
- /home/mysql/data:/var/lib/mysql # 挂载mysql数据
- /home/mysql/conf/my.cnf:/etc/mysql/conf.d/my.cnf # 挂载mysql配置文件
system:
container_name: base-system
build:
context: /home/compose/service/
dockerfile: DockerFile-system
restart: always
ports:
- 9206:9206
networks:
my_net:
ipv4_address: 172.19.8.206
version
compose文件格式版本,主要有3个版本(1.X、2.X、3.X)
networks
配置自定义网段,配置之前需要查看docker当前网段有那些,不能重复配置
networks : my_net
自定义网段名称,用于后续容器配置网段
networks : name
指定自定义网段名称,用于后续容器配置网段
networks : ipam : config : - subnet
指定网段
services
services下面就是需要构建和启动的镜像服务
services : 自定义名称
自定义名称mysql,用于compose管理服务的名称,不是容器名称;每个服务第一行都要有名称
services : 自定义名称 : container_name
自定义容器名称,用于docker容器管理的自定义名称
services : 自定义名称 : image
指定镜像创建并启动容器,每个服务运行方式只能通过image与build二选一
services : 自定义名称 : build
通过Dockerfile文件构建镜像并启动容器,每个服务运行方式只能通过image与build二选一
services : 自定义名称 : build : context
指定Dockerfile文件的路径,是目录路径不是文件路径
services : 自定义名称 : build : dockerfile
指定Dockerfile文件名称,与上面context一起配置,用于查找Dockerfile文件地址
services : 自定义名称 : restart
配置容器自启,restart: always
services : 自定义名称 : environment
添加环境变量,通过 - 可以设置多个值
services : 自定义名称 : ports
端口映射,通过 - 可以设置多个映射端口,- 2020:2020/tcp - 3425:3425/udp
services : 自定义名称 : networks
配置当前容器服务的ip
services : 自定义名称 : networks : 网段名 : ipv4_address
配置具体网段内的固定ip
services : 自定义名称 : volumes
配置服务文件与宿主机挂载映射
services : 自定义名称 : command
配置容器启动后默认执行的命令
3. 多compose文件共用networks网段
version: "3.8"
networks:
# 共用其他compose的网段
higentec_net:
external: true
services:
..........
4. docker compose常用命令
## 构建镜像并启动文件内配置的所有容器
docker compose up
## 构建镜像并启动所有容器,后台运行
docker compose up -d
## 停止并删除所有容器
docker compose down
## 重启所有服务
docker compose restart
## 启动服务
docker compose start
## 停止服务
docker compose stop
## 展示当前docker compose编排过并运行的所有容器(在docker-compose.yml文件同目录下运行)
docker compose ps
## 检查docker-compose.yml文件
docker compose config
## 检查docker-compose.yml文件,有问题就输出
docker compose config -q
文章转载至:https://blog.csdn.net/pcxiaoke/article/details/130977715
标签:compose,网段,自定义,mysql,services,docker,Doker From: https://www.cnblogs.com/nhdlb/p/17869834.html