docker批量管理容器(compose)

用docker compose可以批量管理容器,通过compose.yaml或compose.yml文件批量处理容器

命令用法

上线

docker compose up

下线

docker compose down

启动容器

docker compose start x1 x2 x3

停止容器

docker compose stop x1 x2 x3

扩容

启动3份x1应用

docker compose start x1=3

compose.yaml文件语法

可查看官网语法https://docs.docker.com/reference/compose-file/

顶级元素

name 名字
services 服务
networks 网络
volumes 卷
configs 配置
secrets 密钥

例子

#compose名字(可以没有)
name: test
services:
  mysql:
    #使用镜像
    image: mysql
    #容器名字
    container_name: mysql
    #开机自启
    restart: always
    #授予容器更高的权限
    privileged: true
    #端口映射
    ports:
      - "3306:3306"
    #目录挂载(Linux系统写法)
    volumes:
      - /work/mysql/my.cnf:/etc/mysql/my.cnf
      - /work/mysql/data:/var/lib/mysql
      - /work/mysql/logs:/logs
    #环境变量
    environment:
      - MYSQL_ROOT_PASSWORD=YmkjSoft2024..
      #设定容器时区变量,确保容器内部时间跟本地时间一致
      - TZ=Asia/Shanghai
    #加入自定义网络
    networks:
      - dnetwork
  minio:
    #使用镜像
    image: minio/minio
    #容器名字
    container_name: minio
    #端口映射
    ports:
      - "9000:9000"
      - "9001:9001"
    #环境变量
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: admin123
      TZ: Asia/Shanghai
    #目录挂载(Windows系统写法)
    volumes:
      - D:\minio\data:/data
      - D:\minio\config:/root/.minio
    #容器启动时执行的命令
    command: server --console-address ':9001' /data
    #开机自启
    restart: always
    #加入自定义网络
    networks:
      - dnetwork
    #mysql容器启动完后再启动
    depends_on:
      - mysql
#创建自定义网络
networks:
  dnetwork:
    #如果网络已经创建了添加下面配置
    #external: true  指定这是一个外部网络

编写好compose文件后,执行命令启动对应容器

docker compose -f compose.yaml up -d

-f 指定目录的compose.yaml
-d 后台运行compose文件里的容器
不指定容器名启动所有容器,已经启动的容器配置没修改过就会跳过,配置修改过会重新创建容器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迷图羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值