docker-compose.yml 参数详解
发布时间 2023-03-24 13:02:37作者: ABEELAN
version: '3.8' # Docker Compose 文件版本号
services: # 定义应用程序中的服务,每个服务对应一个容器
web: # 定义一个名为 web 的服务
image: nginx:latest # 指定该服务使用的 Docker 镜像名称
build: . # 指定 Dockerfile 的路径,Docker Compose 将自动构建该服务的 Docker 镜像
container_name: nginx # 指定该容器的名称
ports: # 指定容器和宿主机之间的端口映射关系,格式为宿主机端口:容器端口
- "8080:80" # 将宿主机的 8080 端口映射到容器的 80 端口
volumes: # 指定容器和宿主机之间的数据卷映射关系,格式为宿主机路径:容器路径
- ./nginx.conf:/etc/nginx/nginx.conf:ro # 将宿主机上的 nginx.conf 文件映射到容器的 /etc/nginx/nginx.conf 文件,并设置为只读模式
environment: # 指定容器的环境变量
- NGINX_PORT=80 # 设置一个名为 NGINX_PORT 的环境变量,值为 80
command: nginx -g 'daemon off;' # 指定容器启动后要执行的命令,即运行 nginx,并设置为后台模式
restart: always # 指定容器退出后的重启策略,可选值为 no、always、on-failure、unless-stopped
depends_on: # 指定容器之间的依赖关系,使得一个容器启动前必须先启动其依赖的容器
- db # 表示该容器依赖于名为 db 的服务
networks: # 指定容器所属的网络
- backend # 将该容器加入名为 backend 的网络中
db: # 定义一个名为 db 的服务
image: mysql:5.7 # 指定该服务使用的 Docker 镜像名称
restart: on-failure:5 # 指定容器退出后的重启策略,on-failure:5 表示在容器退出代码非零时重启容器,最多重试 5 次
environment: # 指定容器的环境变量
- MYSQL_ROOT_PASSWORD=root # 设置一个名为 MYSQL_ROOT_PASSWORD 的环境变量,值为 root
- MYSQL_DATABASE=mydb # 设置一个名为 MYSQL_DATABASE 的环境变量,值为 mydb
- MYSQL_USER=user # 设置一个名为 MYSQL_USER 的环境变量,值为 user
- MYSQL_PASSWORD=password # 设置一个名为 MYSQL_PASSWORD 的环境