docker-compose常用命令和yml配置文件

安装docker-compose:https://blog.csdn.net/weixin_44953227/article/details/116901201

compose 常用命令

# 查看帮助
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

yml规则

docker-compose.yml 是核心

官方文档:https://docs.docker.com/compose/compose-file/compose-file-v3/

docker-compose 对应的 docker 版本(引擎),docker向下兼容docker-compose

Compose file formatDocker Engine release
Compose specification19.03.0+
3.819.03.0+
3.718.06.0+
3.618.02.0+
3.517.12.0+
3.417.09.0+
3.317.06.0+
3.217.04.0+
3.11.13.1+
3.01.13.0+
2.417.12.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
2.01.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

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值