【Docker】专题四:Docker Compose 相关

以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!

公众号二维码


一、相关概念

1、Docker Compose

Docker Compose 是 Docker 官方的编排项目之一,用于定义和运行多个容器,可以简化多容器应用程序的部署和管理,与 Docker Machine、Docker Swarm 并称 Docker “三驾马车”。

开发人员或运维人员通过 Docker Compose,可以使用 YML 文件来定义应用程序需要的所有服务。

2、YML 文件

一种 YAML 格式的模板文件,用于将一组相关联的应用容器定义为一个项目,Docker Compose 默认的 YML 文件是 docker-compose.yml。


二、Docker Compose

1、安装方法

# 使用前提:已经安装 Docker
wget -O /usr/local/bin/docker-compose https://github.com/docker/compose/releases/download/1.23.1/docker-compose-Linux-x86_64
chmod +x /usr/local/bin/docker-compose
docker-compose -v

2、常用选项及常用命令

# 常用选项
--verbose                      # 输出详细信息
--log-level LEVEL              # 日志级别(DEBUG, INFO, WARNING, ERROR, CRITICA)
--compatibility                # 限制资源
-d                             # 在后台运行
-f                             # 指定 yml 文件
--no-deps                      # 不启动依赖的容器
--no-recreate                  # 如果容器已经存在了则不重新创建
--force-recreate               # 强制重建容器,不能与 --no-recreate 同时使用
--no-build                     # 不构建缺失的镜像
--no-color                     # 不使用颜色区分输出
-t,-—timeout                   # 停止容器的超时时间(默认为10秒)



# 常用命令
docker-compose ps                             # 查看容器列表
docker-compose up   <服务名称>                 # 启动服务容器,如果没有则创建
docker-compose stop <服务名称>                 # 停止服务容器
docker-compose down <服务名称>                 # 停止并删除服务容器
docker-compose pull <服务名称>                 # 拉取容器镜像
docker-compose top  <服务名称>                 # 查看服务进程
docker-compose restart <服务名称>              # 重启服务容器
docker-compose exec <服务名称> bash            # 进入服务容器


# 命令示例
# 启动指定 YML 文件定义的一组服务,并在后台运行
docker-compose -f demo.yml up -d

# 停止默认 YML 文件定义的全部服务
docker-compose stop

# 启动指定 YML 文件定义的 web 服务,并让其资源限制生效
docker-compose --compatibility -f demo.yml up web


三、YML 文件样例及解析

version: '3'

services:
  <服务名称>:
    container_name:  <容器名称>
    restart: always 或 unless-stopped      # 重启策略
    network_mode: host      # 配置端口映射时需要注释此行,或改为对应的 network 名称
    image: nginx
    env_file:               # 从文件中添加环境变量,可以是一个值或列表(优先级从低到高!!!)
    - env_public
    - env_private
    environment:
    - TZ=Asia/Shanghai
    privileged: true        # 特权模式
    cap_add:                # 添加容器的内核能力
    - ALL                   # 让容器拥有所有能力
    - SYS_PTRACE
    cap_drop:
    - SYS_ADMIN             # 移除 SYS_ADMIN 功能
    volumes:
    - 主机目录:容器目录
    ports:
    - "主机端口:容器端口"
    depends_on:             # 依赖的服务
    - web
    extra_hosts:            # 在容器的 /etc/hosts 文件中添加host信息
    - "域名:IP"
    command: "/usr/local/bin/docker-entrypoint.sh"  # 覆盖容器启动后默认执行的命令
    deploy:                 # 启动时需要添加 --compatibility 参数
      resources:
        limits:
          cpus: '1'          # 需要加单引号 '',类型是字符串 string
          memory: 2048M

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值