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

Docker compose容器编排

Docker compose容器编排

1、Docker compose简介

docker-compose是docker的编排工具,用于定义和运行一个项目,该项目包含多个docker容器,在如今的微服务时代,一个项目会存在多个服务,使用docker一个个部署操作的话就会很麻烦,如果使用docker编排工具一键部署,统一管理就会便捷很多,同时也提高了开发,运维效率。

1.1 什么是容器编排?

容器编排即是在docker客户端与docker服务器之间加入一个容器编排,通过容器编排的操作一次执行便可将整个微服务系统全部一键部署;简单来说,某些项目所需要的容器远不止一个,按照传统的做法就是一个个部署容器,有了容器编排之后可以一键部署所有容器。

compose.png

1.2 Docker compose如何实现容器编排?

docker compose容器编排和Dockerfile镜像构建一样通过编写yml文件,在yml文件中写入指令来完成容器的编排工作;docker compose编排文件默认名为:docker-compose.yml;一个docker-compose.yml文件就是一个项目。

docker compose容器编排的三步过程:

定义应用程序环境(镜像),已有镜像,Dockerfile构建镜像。
定义应用程序容器,docker-compose.yml以便它们可以在隔离环境中一起运行。
运行启动整个项目程序。

2、docker-compose.yml配置讲解

docker-compose.yml文件格式及编写注意事项:

不支持制表符tab键缩进,需要使用空格缩进

冒号、逗号、横杠后缩进1个空格

用#号注释

如果包含特殊字符用单引号引起来

布尔值须用引号引起来

docker-compose.yml文件配置详解:

version:"3.7"		 //指定compose版本,最好是3.0以上版本
services: 		 //配置服务(容器)httpd:		 //配置服务标识(唯一编号)container_name: xxx	 //容器名称image: httpd	 //配置容器镜像build:		 //build和image二选一context: .	 //上下文路径dockerfile: Dockerfiledepends_on:          //容器启动顺序,该容器依赖某个容器- xxxexpose:		 //容器开放端口- 80ports: 		 //配置容器映射端口号[数组]- 80:80volumes:		 //配置挂载卷- db_data:/var/www/htmlnetworks: 		 //配置容器网络[数组]- httpd_net         //网络名称privileged:"true"command: xxxx 	 //覆盖容器启动后默认执行的命令entrypoint:xxxx	 //覆盖容器启动后默认执行的命令networks: 		 //为网络指定配置httpd_net: 	 	 //配置网络名称driver: bridge	 //网络类型volumes: 		 //为卷指定配置db_data:driver: local

3、docker-compose工具安装及使用

3.1 docker-compose工具安装

docker-compose工具最新发行的版本地址:https://github.com/docker/compose/releases下载docker-compose工具1.29.2版本:curl -o /bin/docker-compose -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-x86_64赋予执行权限:
chmod +x /bin/docker-compose查看版本:[root@localhost ~]# docker-compose versiondocker-compose version 1.29.2, build 5becea4cdocker-py version: 5.0.0
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

3.2 docker-compose工具使用

docker-compose up	//部署Compose应用,默认读取名为docker-compose.yml文件
-d			//后台运行docker-compose build 	//在运行项目前先构建项目所需镜像docker-compose ps	//列出本地docker-compose.yml文件里定义的正在运行的所有服务docker-compose stop	//停止所有服务,如果服务没有停止,可以使用docker-compose kill强制杀死服务docker-compose start	//开启所有服务docker-compose rm	//删除所有服务

相关文章:

  • Python 自动化(十六)静态文件处理
  • 在跑腿App系统开发中,如何构建系统架构?
  • 循环神经网络 - RNN
  • MySQL数据库入门到精通——运维篇(1)
  • 图像处理:图片二值化学习,以及代码中如何实现
  • 【实现多个接口的使用】
  • 软件测试面试,一定要准备的7个高频面试题(附答案,建议收藏)
  • QMS质量检验管理|攻克制造企业质量检验难题,助力企业提质增效
  • web - 会话技术
  • Android照搬,可删
  • 玻色量子签约移动云“五岳”量子云计算创新加速计划!
  • 使用 ElementUI 组件构建 Window 桌面应用探索与实践(WinForm)
  • 微服务parent工程和子工程pom文件配置注意
  • 线扫相机DALSA-相机平场矫正详细步骤
  • 一文深入了解 CPU 的型号、代际架构与微架构
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • CSS 提示工具(Tooltip)
  • express + mock 让前后台并行开发
  • Git初体验
  • HashMap ConcurrentHashMap
  • HTTP中GET与POST的区别 99%的错误认识
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • JavaScript 一些 DOM 的知识点
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • Odoo domain写法及运用
  • PAT A1017 优先队列
  • Spring声明式事务管理之一:五大属性分析
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 设计模式 开闭原则
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • ​iOS安全加固方法及实现
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (done) 两个矩阵 “相似” 是什么意思?
  • (多级缓存)多级缓存
  • (附源码)ssm高校实验室 毕业设计 800008
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (一)appium-desktop定位元素原理
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)大型网站的系统架构
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • .net core 6 redis操作类
  • .net core 依赖注入的基本用发
  • .Net FrameWork总结
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET企业级应用架构设计系列之技术选型
  • .NET与 java通用的3DES加密解密方法
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • /proc/vmstat 详解
  • ?.的用法
  • @Controller和@RestController的区别?