赞
踩
安装docker-compose:https://blog.csdn.net/weixin_44953227/article/details/116901201
# 查看帮助 docker-compose -h docker-compose --help # -f 指定使用的 Compose 模板文件,默认为 docker-compose.yml,可以多次指定。 docker-compose -f docker-compose.yml up -d # 启动所有容器,-d 将会在后台启动并运行所有的容器 docker-compose up -d # 停用移除所有容器以及网络相关 docker-compose down # 查看服务容器的输出 docker-compose logs # 列出项目中目前的所有容器 docker-compose ps # 构建(重新构建)项目中的服务容器。服务容器一旦构建后,将会带上一个标记名,例如对于 web 项目中的一个 db 容器,可能是 web_db。可以随时在项目目录下运行 docker-compose build 来重新构建服务 docker-compose build # --build 可以重新构建镜像 docker-compose up --build # 拉取服务依赖的镜像 docker-compose pull # 重启项目中的服务 docker-compose restart # 删除所有(停止状态的)服务容器。推荐先执行 docker-compose stop 命令来停止容器。 docker-compose rm # 在指定服务上执行一个命令。 docker-compose run ubuntu ping docker.com # 设置指定服务运行的容器个数。通过 service=num 的参数来设置数量 docker-compose scale web=3 db=2 # 启动已经存在的服务容器。 docker-compose start # 停止已经处于运行状态的容器,但不删除它。通过 docker-compose start 可以再次启动这些容器。 docker-compose stop
docker-compose.yml 是核心
官方文档:https://docs.docker.com/compose/compose-file/compose-file-v3/
docker-compose 对应的 docker 版本(引擎),docker向下兼容docker-compose
Compose file format | Docker Engine release |
---|---|
Compose specification | 19.03.0+ |
3.8 | 19.03.0+ |
3.7 | 18.06.0+ |
3.6 | 18.02.0+ |
3.5 | 17.12.0+ |
3.4 | 17.09.0+ |
3.3 | 17.06.0+ |
3.2 | 17.04.0+ |
3.1 | 1.13.1+ |
3.0 | 1.13.0+ |
2.4 | 17.12.0+ |
2.3 | 17.06.0+ |
2.2 | 1.13.0+ |
2.1 | 1.12.0+ |
2.0 | 1.10.0+ |
docker-compose.yml 分为3层
# 分为3层 version: "3.9" # 版本 services: # 服务 web: # 服务1 # 服务配置 images: build: ports: ... redis: # 服务2 # 其他配置 网络/卷挂载、全局规则 volumes: networks: configs:
指定 Dockerfile 路径和名称
build:
context: ./dir # . 就代表当前路径
dockerfile: Dockerfile-alternate # Dockerfile名称
depends_on 容器启动顺序
version: "3.9"
services:
web:
build: .
# 会先启动 db 和 redis 容器再启动 web 容器
depends_on:
- db
- redis
redis:
image: redis
db:
image: postgres
volumes
version: "3.9" services: web: image: nginx:alpine volumes: - type: volume source: mydata target: /data volume: nocopy: true - type: bind source: ./static target: /opt/app/static db: image: postgres:latest volumes: - "/var/run/postgres/postgres.sock:/var/run/postgres/postgres.sock" - "dbdata:/var/lib/postgresql/data" volumes: mydata: dbdata:
这些都可以在官方文档中找到对应的列子
https://docs.docker.com/compose/compose-file/compose-file-v3/#volumes
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。