docker (十)-docker compose容器编排

这篇具有很好参考价值的文章主要介绍了docker (十)-docker compose容器编排。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在实际工作中,部署一个应用可能需要部署多个容器,一个一个部署非常不方便。docker compose可以一键部署和启动多个容器,它使用yaml文件来编排服务。github和docker hub很多项目都提供了docker-compose.yaml文件,我们可以一键部署项目,非常方便。

这里可以使用vscode去学习docker compose的格式 

一键部署

将以下内容保存到本地的docker-compose.yml文件中。

docker compose命令启动时,默认在当前目录下寻找compose.yaml或compose.yml,为了兼容之前的版本,也会查找docker-compose.yaml或docker-compose.yml。
也可以使用-f参数手动指定文件docker compose -f docker-compose-dev.yml up -d

docker compose up -d一键部署启动
docker compose start/stop启动/停止服务
docker compose down停止并删除容器,不会删除存储卷volume

compose文件结构

docker-compose.yml通常需要包含以下几个顶级元素:

version 已弃用,早期版本需要此元素
services 必要元素,定义一个或多个容器的运行参数

  在services 中可以通过以下元素定义容器的运行参数

主要关注 端口映射、环境变量、挂载数据持久化、容器重启策略

image

                                  容器镜像

ports 端口映射
environment 环境变量
networks 容器使用的网络
volumes 容器挂载的存储卷
command 容器启动时执行的命令
depends_on 定义启动顺序
复数形式,ports、networks、depends_on参数需传入列表

yaml文件语法

  •  缩进代表上下级关系
  •  缩进时不允许使用Tab键,只允许使用空格
  •  : 键值对,后面必须有空格
  •  -列表,后面必须有空格
  •  [ ]数组
  •  #注释
  •  {key:value,k1:v1}map
  •  | 多行文本块
  • --- 表示一个文档的开始
  • 把公共的配置提取出来,用&来建立锚点,<<合并到当前数据,用*引用锚点

编排自己的项目

command 支持以下写法:

#推荐使用数组或列表的方式
#数组
command:
	["java",
  "-jar",
  "/usr/local/src/ruoyi-admin.jar"
	]
#列表
command: 
	- java
  - -jar
  - /usr/local/src/ruoyi-admin.jar

# shell命令模式
command: java -jar /usr/local/src/ruoyi-admin.jar

environment 支持如下两种写法:

# 使用map
environment:
    MYSQL_DATABASE: exampledb
    MYSQL_USER: exampleuser
    MYSQL_PASSWORD: examplepass
    MYSQL_RANDOM_ROOT_PASSWORD: '1'

#使用列表
environment:
    - MYSQL_ROOT_PASSWORD=123456
    - MYSQL_DATABASE=ry
    - LANG=C.UTF-8

容器启动顺序 depends_on

数据库初始化完成之前,不会建立connections。

depends_on 只能保证容器的启动和销毁顺序,不能保证依赖的容器是否ready

要确保应用服务在数据库初始化完成后再启动,需要配合conditionhealthcheck使用。

condition有三种状态:

  1. service_started容器已启动
  2. service_healthy容器处于健康状态
  3. service_completed_successfully容器执行完成且成功退出(退出状态码为0)

重启策略

以下是几种常用的重启策略

  1. no:这是默认值。表示容器停止后不会自动重启。

  2. always:表示容器停止后总是自动重启。

  3. unless-stopped:表示容器停止后除非明确停止(使用 docker-compose stop 或手动停止),否则总是自动重启。文章来源地址https://www.toymoban.com/news/detail-834390.html

  4. on-failure:表示容器非正常退出(即退出状态非 0)时自动重启。可以通过 restarton-failure 子选项来指定最大的重启次数,例如 restart: on-failure:5 表示容器在失败时最多尝试重启 5 次。

  5. unless-stopped:表示容器停止后除非明确停止(使用 docker-compose stop 或手动停止),否则总是自动重启。

到了这里,关于docker (十)-docker compose容器编排的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Docker 容器编排利器 Docker Compose

    Docker 容器编排利器 Docker Compose

    目录 一、Docker Compose 简介 二、Docker Compose 安装 2.1 Mac、Windows 平台默认支持 2.2 Linux 安装(通过包管理) 2.2.1 安装 2.2.2 测试 2.2.3 卸载 2.3 使用PIP 安装与卸载 2.3.1 PIP安装 2.3.2 PIP 卸载 三、基本使用 3.1 术语 3.2 部署Flask 应用 四、Compose 常用命令 4.1 命令对象与格式 4.2 docker-compose

    2024年03月26日
    浏览(10)
  • Docker——compose单机容器集群编排

    Docker——compose单机容器集群编排

    Docker-compose是一个基于Docker的容器编排工具。它使用一个YAML文件来定义和配置多个容器的集群。通过使用Docker-compose,我们可以轻松地定义、配置和协同运行多个Docker容器,而无需手动管理它们的启动和通信。 1.为何需要Docker-compose 在现代应用程序开发中,容器化技术已经成

    2024年02月16日
    浏览(11)
  • Docker Compose容器的快速编排

    Docker Compose容器的快速编排

    Docker Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排(使用一个模板文件定义多个应用容器的启动参数和依赖关系,并使用Docker Compose来根据这个模板文件的配置来启动容器)。 项目/工程 - 包含一个或多个服务 - 包含一个或多个容器 默认使用项目的目

    2024年02月15日
    浏览(10)
  • docker笔记9:Docker-compose容器编排

    docker笔记9:Docker-compose容器编排

    目录 1.是什么? 2. 能干嘛? 3.去哪下? 4.安装步骤  ​编辑 5.卸载步骤   6.Compose核心概念  6.1概念 6.2 Compose常用命令   7.Compose编排微服务 7.1改造升级微服务工程docker_boot 7.2不用Compose 7.2.1 单独的mysql容器实例 7.3 swagger测试 7.4上面成功了,有哪些问题? 7.5 使用Compose  7.5.1

    2024年02月09日
    浏览(10)
  • 尚硅谷Docker-笔记12:Compose容器编排

    尚硅谷Docker-笔记12:Compose容器编排

    Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启动/关闭这些容器。 docker建议我们每一个容器中只运行一个服务,因为docker容

    2024年01月18日
    浏览(10)
  • Docker进阶:Docker Compose(容器编排) 管理多容器应用—实战案例演示

    Docker进阶:Docker Compose(容器编排) 管理多容器应用—实战案例演示

    💖The Begin💖点点关注,收藏不迷路💖 在开始之前,我们需要确保已经安装了 Docker 。 前面我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build、docker run 等命令操作容器。然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如

    2024年02月08日
    浏览(12)
  • 4.docker容器编排(docker compose 与 docker swarm)

    4.docker容器编排(docker compose 与 docker swarm)

    容器编排:就是针对容器生命周期的管理,对容器的生命周期进行更快速方便的方式进行管理。 实例:一个java程序,依赖了mysql,redis,要想把 java 程序运行起来,则必须要先启动 mysql、redis。那么这三者这件就存在了依赖关联。   容器编排存在的意义: 依赖管理,当一个容

    2024年02月03日
    浏览(14)
  • docker-compose容器编排使用详解+示例

    docker-compose容器编排使用详解+示例

    Docker-Compose是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。 Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启

    2023年04月22日
    浏览(15)
  • 【云原生】Docker-compose单机容器集群编排

    【云原生】Docker-compose单机容器集群编排

    Compose是单机编排容器集群或者是分布式服务容器的应用工具。通过Compose,可以使用YAML文件来配置应用程序的服务。然后,使用一个命令,就可以从配置中创建并启动所有服务。 Docker-Compose是一个容器编排工具。通过一个.yml或.yaml文件,将所有的容器的部署方法、文件映射、

    2024年02月09日
    浏览(18)
  • Docker Compose 容器编排 + Docker--harbor私有仓库部署与管理

    Docker Compose 容器编排 + Docker--harbor私有仓库部署与管理

    目录 一、Docker Compose简介 1、Docker Compose 的YAML 文件格式及编写注意事项 2、Docker compose 使用的三个步骤 3、 Docker Compose配置常用字段 4、 Docker Compose 常用命令 5、 Docker Compose 文件结构 二: Docker Compose 安装 1、Docker Compose 环境安装  2、Docker Compose 文件结构 (1)准备依赖文件

    2024年02月15日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包