当前位置: 首页 > article >正文

09.容器单机编排工具 Docker Compose

容器单机编排工具 Docker Compose

  • 容器单机编排工具 Docker Compose
    • 1. 安装Docker Compose
      • 1.1 在线安装,通过 pip 安装
      • 1.2 离线安装,直接从 github 或国内镜像站下载安装对应版本
    • 2. docker-compose 命令
    • 3. docker compose 文件格式

容器单机编排工具 Docker Compose

当在宿主机启动较多的容器时候,如果都是手动操作会觉得比较麻烦而且容易出错,此时推荐使用 docker 单机编排工具 docker-compose,docker-compose 是 docker 容器的一种单机编排服务,docker-compose 是一个管理多个容器的工 具,比如: 可以解决容器之间的依赖关系,就像启动一个 nginx 前端服务的时候会调用后端的 tomcat, 那就得先启动 tomcat,但是启动 tomcat 容器还需要依赖数据库,那就还得先启动数据库,docker compose 可以用来解决这样的嵌套依赖关系,并且可以替代 docker 命令对容器进行创建、启动和停止 等手工的操作。因此,如果说 docker 命令就像 linux 的命令,docker compose 就像 shell 脚本,可以自动的执行容器批量操作,从而实现自动化的容器管理,或者说 docker 命令相当于 ansible 命令,那么 docker compose 文 件,就相当于 ansible-playbook 的 yaml 文件。

docker-compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排,docker-compose 将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)

github地址: https://github.com/docker/compose

官方地址: https://docs.docker.com/compose/

1. 安装Docker Compose

1.1 在线安装,通过 pip 安装

python-pip 包将安装一个 pip 的命令,pip 命令是一个 python 安装包的安装工具,其类似于 ubuntu 的 apt 或者 redhat 的 yum,但是 pip 只安装 python 相关的安装包,可以在多种操作系统安装和使用 pip

此方式当前安装的版本较新,推荐使用

# 配置加速
[root@Ubuntu2204 ~]#mkdir ~/.pip

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

# 基于python3 安装 docker-compose
[root@Ubuntu2204 ~]#apt update; apt install -y python3-pip
[root@Ubuntu2204 ~]#pip3 install --upgrade pip
[root@Ubuntu2204 ~]#pip3 install docker-compose
[root@Ubuntu2204 ~]#docker-compose -v

1.2 离线安装,直接从 github 或国内镜像站下载安装对应版本

下载地址: https://github.com/docker/compose/releases

# 下载好系统对应的版本 以 Ubuntu 为例 docker-compose-linux-x86_64 
# 下载好上传到 /root 目录
[root@Ubuntu2204 ~]#pwd
/root
[root@Ubuntu2204 ~]#mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
[root@Ubuntu2204 ~]#chmod +x /usr/local/bin/docker-compose
[root@Ubuntu2204 ~]#docker-compose -v

2. docker-compose 命令

官方文档:https://docs.docker.com/reference/cli/docker/compose/

用法: docker-compose [-f <arg>...] [--profile <name>...] [选项] [--] [COMMAND] [ARGS...]
          docker-compose -h|--help

定义并运行多容器 Docker 应用程序。

### 选项:
  -f, --file FILE             指定替代的 Compose 文件 (默认值: docker-compose.yml)  
  -p, --project-name NAME     指定替代的项目名称 (默认值: 目录名称)  
  --profile NAME              指定要启用的配置文件  
  -c, --context NAME          指定上下文名称  
  --verbose                   显示更多输出信息  
  --log-level LEVEL           设置日志级别 (DEBUG, INFO, WARNING, ERROR, CRITICAL)  
  --ansi (never|always|auto)  控制是否打印 ANSI 控制字符  
  --no-ansi                   不打印 ANSI 控制字符 (已弃用)  
  -v, --version               打印版本信息并退出  
  -H, --host HOST             要连接的守护程序套接字  

  --tls                       使用 TLS;如果指定 --tlsverify,则隐式启用  
  --tlscacert CA_PATH         仅信任由该 CA 签名的证书  
  --tlscert CLIENT_CERT_PATH  TLS 证书文件路径  
  --tlskey TLS_KEY_PATH       TLS 密钥文件路径  
  --tlsverify                 使用 TLS 并验证远程端  
  --skip-hostname-check       不检查守护程序的主机名与客户端证书中指定的名称是否匹配  
  --project-directory PATH    指定替代的工作目录 (默认值: Compose 文件路径)  
  --compatibility             如果设置,Compose 将尝试将 v3 文件中的键转换为非 Swarm 等效键 (已弃用)  
  --env-file PATH             指定替代的环境文件  

### 命令:
  build              构建或重新构建服务  
  config             验证并查看 Compose 文件  
  create             创建服务  
  down               停止并移除资源  
  events             接收来自容器的实时事件  
  exec               在正在运行的容器中执行命令  
  help               获取命令的帮助信息  
  images             列出镜像  
  kill               终止容器  
  logs               查看容器输出  
  pause              暂停服务  
  port               打印端口绑定的公共端口  
  ps                 列出容器  
  pull               拉取服务镜像  
  push               推送服务镜像  
  restart            重启服务  
  rm                 移除已停止的容器  
  run                运行一次性命令  
  scale              设置服务的容器数量  
  start              启动服务  
  stop               停止服务  
  top                显示正在运行的进程  
  unpause            取消暂停服务  
  up                 创建并启动容器  
  version            显示版本信息并退出  

3. docker compose 文件格式

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

docker compose 文件是一个 yaml 格式的文件,所以注意行首的缩进很严格

默认 docker-compose 命令会调用当前目录下的 docker-compose.yml 的文件,因此一般执行 docker compose命令前先进入 docker-compose.yml 文件所在目录


http://www.kler.cn/a/558305.html

相关文章:

  • leetcode hot100-34 合并K个升序链表
  • Swiper插件的运用和学习
  • 自动驾驶与智慧交通:未来城市的交通革命即将来临
  • 基于YOLO11深度学习的运动鞋品牌检测与识别系统【python源码+Pyqt5界面+数据集+训练代码】
  • EquinoxProject:一个适合学习DDD、CQRS、Event Sourcing等技术.Net Web框架搭建开源项目
  • 【落羽的落羽 数据结构篇】树、二叉树
  • 请解释 Vue 中的生命周期钩子,不同阶段触发的钩子函数及其用途是什么?
  • .NET周刊【2月第2期 2025-02-09】
  • Docker Mysql 数据迁移
  • 1.24作业
  • 技术总结汇总
  • 在工业生产中,物料搬运环节至关重要,搬运机器人开启新篇章
  • 【Quest开发】全身跟踪(一)
  • 【深度学习】Python多线程/多进程在神经网络模型的应用实战
  • 中文Build a Large Language Model (From Scratch) 免费获取全文
  • LLM增强的RLHF框架,用多模态人类反馈提升自动驾驶安全性!
  • mysql----查询,
  • 数据链路层分析
  • [Android]让APP进入后台后不被杀掉(保活)
  • 小游戏-记忆卡牌