首页 > 其他分享 >Docker-compose容器编排

Docker-compose容器编排

时间:2023-09-17 15:34:00浏览次数:42  
标签:bin 容器 compose 定义 启动 编排 Docker docker

Docker容器编排的作用是管理和协调多个Docker容器的部署、启动、停止和扩展等操作。它可以确保应用程序在分布式环境中以可靠、高效和可伸缩的方式运行。

1)安装步骤

参考官网文档,选择对应的系统版本即可,官网提供两种安装方式请根据需要自行选择。

Docker-compose容器编排_Docker-compose

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-compose容器编排_Docker-compose_02

查看容器是否启动成功

docker ps

Docker-compose容器编排_Docker-compose_03

查看服务是否启动成功

Docker-compose容器编排_Linux_04

标签:bin,容器,compose,定义,启动,编排,Docker,docker
From: https://blog.51cto.com/qclr/7502086

相关文章

  • docker常用的命令
    1、帮助类启动命令:启动docker:systemctlstartdocker停止docker:systemctlstopdocker重启docker:systemctlrestartdocker查看docker状态:systemctlstatusdocker开机启动:systemctlenabledocker查看docker概要信息:dockerinfo查看docker总体帮助文档:docker--he......
  • Docker 环境清理无用数据的方法?
    Docker让运维及开发部署变得容易了,正因为容易导致不经意的就在不断添加新的docker映像、容器等。这些都将占用了我们系统上的很多宝贵空间,又一直在快速地增加。以此我们有必要定期做下清理Docker环境,把一些不使用的Docker资源清理掉节省的空间出不来。查看本机磁盘空间大小[ro......
  • centos7.4安装docker
    文档安装连接:https://docs.docker.com/engine/install/centos/1、确定你是CentOS7及以上版本2、如果当前系统中有已经安装的版本,则卸载老版本:sudoyumremovedocker\docker-client\docker-client-latest\docker......
  • Windows 打包 Docker 提示环境错误: no DOCKER_HOST environment variable
    这个问题应该还是比较常见的。[ERROR]Failedtoexecutegoalio.fabric8:docker-maven-plugin:0.40.2:build(default)onprojectmq-service:Executiondefaultofgoalio.fabric8:docker-maven-plugin:0.40.2:buildfailed:No<dockerHost>given,noDOCKER_HOSTenviro......
  • docker里nginx转发其他nginx失败问题(这个算是docker网络问题,已解决)
    docker里nginx转发其他nginx失败问题最近在学习nginx目标是:想通过docker中的nginx容器1转发到nginx2的页面中,目前转发失败,--namemynignx的log报错如下2023/09/1516:15:55[error]22#22:*1connect()failed(111:Connectionrefused)whileconnectingtoupstream,cl......
  • MAC Catalina通过Docker安装CouchDB 3.X
    第一步:启动DockerDesktop第二步:docker镜像下载CouchDBdockerpullcouchdb[注意]从官网上注意到当前CouchDB最新版本为3.3.2。根据参考文献提示,想直接从DockerHub上拉取CouchDB(默认为最新版本)。通过界面提示来看,下载正常。但是,接下来安装出现问题。第三步:运行CouchDB低版本的Couch......
  • docker 基本使用
    docker基本使用我自己的总结1.创建容器先创建镜像,2.创建镜像先创建dockerfile文件3.以下是dockerfile文件的一部分内容4.容器镜像的创建只能从已有的镜像进行创建(必须有一个官方的镜像然后根据官方的模板创建你自己的)5.也就是说dockerfile中的from关键字必须是官方的......
  • Docker 安装与配置
    安装方法:yum配置仓库安装rpm包安装使用docker官方提供的自动化脚本这里以yum配置仓库安装为例。确认操作系统版本确认操作系统是否是CentOS7及以上版本。cat/etc/os-release卸载旧版本sudoyumremovedocker\docker-client\......
  • Docker+harbor+rancher2.6.3部署springboot项目
    1、在pom的文件中添加以下配置<build><finalName>${project.artifactId}</finalName><plugins><plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId......
  • docker清理不用的桥接网卡br-xxx
    docker清理不用的桥接网卡br-xxx场景在Linux机器中,发现了很多br-开头的网卡信息,一看就是docker创建的,但是有些已经不再使用了,因此想清理一下清理查看信息dockernetworkls每一个NETWORKID应该都会对应上一个网卡信息,例如删除没被使用的桥接网卡dockernetworkpru......