Docker容器编排的作用是管理和协调多个Docker容器的部署、启动、停止和扩展等操作。它可以确保应用程序在分布式环境中以可靠、高效和可伸缩的方式运行。
1)安装步骤
参考官网文档,选择对应的系统版本即可,官网提供两种安装方式请根据需要自行选择。
https://docs.docker.com/desktop/install/linux-install/
#安装docker-compose,这里是以Centos7为例
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-compose-plugin
#查看版本
docker compose version
2)核心概念
允许你使用简单的文本文件(通常是 YAML 格式)来定义和管理多个 Docker 容器,以构建和部署多个服务组件的应用程序
3)docker -compose常用命令
#启动容器组:
docker-compose up #根据 docker-compose.yml 文件启动所有定义的服务,并将它们连接到相应的网络。
#在后台启动容器组:
docker-compose up -d #将容器组作为守护进程在后台运行。
#停止compose定义的容器
docker-compose stop
docker-compose down #停止并删除所有正在运行的容器,以及相关的网络和卷。
#查看容器组日志:
docker-compose logs #使用这个命令来查看容器组中所有服务的日志输出。
#构建和启动容器组:
docker-compose up --build #如果需要重新构建镜像,在启动容器之前使用此命令。
#列出容器组中的容器
docker-compose ps
4)容器编排常用字段
version: 指定 Docker Compose 文件的版本,如 "3"。
services: 定义服务(容器)的配置信息。
image: 指定服务所使用的镜像。
build: 指定构建镜像时所需的构建上下文路径或 Dockerfile 文件路径。
ports: 将主机端口映射到容器端口,可以指定单个端口或范围。
volumes: 挂载主机目录或数据卷到容器的指定路径。
environment: 设置容器环境变量。
networks: 将容器连接到指定的网络。
depends_on: 定义服务之间的依赖关系。
command: 指定容器启动时执行的命令。
restart: 定义容器的重启策略。
privileged: 设置容器的特权模式。
logging: 配置容器的日志记录选项。
healthcheck: 定义容器的健康检查配置。
deploy: 配置服务的部署选项,如 replicas 数量、资源约束等。
configs: 配置服务所使用的配置文件。
secrets: 配置服务所使用的敏感信息。
labels: 为服务添加自定义标签。
networks: 定义网络配置,包括网络类型、子网、IP范围等。
volumes: 定义数据卷配置,包括驱动程序、驱动选项等。
configs: 定义配置文件的配置选项。
secrets: 定义敏感信息的配置选项。
extensions: 定义 Docker Compose 文件的扩展配置。
5)撰写docker-compose文件
version: "3" #版本号
services: #在此项下添加容器实例
Apache1: #定义实例名
image: centos:2.0 #镜像名称+版本号
ports:
- "8080:80" #要映射到宿主机的端口号
volumes: #挂载的数据卷路径
- /apache1/:/var/www/html/
networks: #网络模式
- lr_network #自定义网络的名字
command: /bin/sh -c "/usr/bin/init && systemctl start httpd && bash" #使用/bin/sh -c命令来执行多个命令。首先启动/usr/bin/init,然后执行systemctl start httpd命令来启动服务,最后启动一个交互式bash终端。
Apache2:
image: centos:2.0
ports:
- "8081:80"
networks:
- lr_network
volumes:
- /apache2/:/var/www/html/
privileged: true
command: /bin/sh -c "/usr/bin/init && systemctl start httpd && bash"
networks:
lr_network:
后台运行yml文件
docker compose up -d
#停止并删除Compose文件中定义的所有容器、网络和卷。
docker compose down
查看容器是否启动成功
docker ps
查看服务是否启动成功
标签:bin,容器,compose,定义,启动,编排,Docker,docker From: https://blog.51cto.com/qclr/7502086