示例

包含一些常用的参数配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
version: "3.9"  # optional since v1.27.0
services:
web:
build: . # 从当前路径开始构建docker镜像,要求有 Dockerfile
ports:
- "80:5000"
volumes:
- .:/code
- logvolume01:/var/log
links: # 定义与其他服务的网络连接
- redis

redis:
image: redis # 使用本地最新的 redis 镜像
container_name: redis-hahah # 自定义容器启动后的名称
restart: "unless-stopped" # https://www.cloudbees.com/blog/ensuring-containers-are-always-running-with-dockers-restart-policy
ports:
- "${EXT_PORT}:6379" # 使用环境变量设置端口映射
environment: # 传递给内部容器的环境变量
- ROOT_USER=${USERNAME}
- ROOT_PASSWORD=${PASSWORD}
env_file: # 文件里包含了传递给内部容器的环境变量
- ../../conf.env
volumes:
- ${PWD}/data:/data # 挂载卷

其他

  • .env

类似于bash语法,支持注释

1
2
3
4
5
# 环境变量配置, docker-compose 解析时生效,无法直接作用于容器内
USERNAME=admin # 用户名
PASSWORD=password # 密码
WORK_DIR=/tmp # 目录
EXT_PORT=6666 # 端口号
  • 创建启动

docker-compose up -d

  • 停止删除

docker-compose down