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	//删除所有服务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/130776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[动态规划] (五) 路径问题: LeetCode 62.不同路径

[动态规划] (五) 路径问题: LeetCode 62.不同路径 文章目录 [动态规划] (五) 路径问题: LeetCode 62.不同路径题目解析解题思路状态表示状态转移方程初始化和填表返回值 代码实现总结 62. 不同路径 题目解析 (1) 机器人从左上角到右下角有多少方法 (2) 机器人只能向左或者向右…

Screens for Mac 中文版 远程桌面连接控制工具

Screens Mac 版是Mac os平台上的一款Mac VNC 客户终端,能够自由访问远程计算机设备, Screens Mac 版支持各种强大的远程控制辅助工具,例如剪切板共享、快捷方式自定义、安全连接、多屏幕支持、快速扫描连接等。 Screens 4 for mac支持多种远程桌面协议&…

2023年上半年网络工程师试题

2023年上半年网络工程师试题 【试题一】 阅读以下说明,回答问题1至问题4将解答填入答题纸对应的解答栏内。 【说明】 某企业办公楼网络拓扑如图1-1所示。该网络中交换机Switch1-Switch4均是二层设备,分布在办公楼的各层,上联采用千兆光纤…

Jupyter Notebook交互式开源笔记本工具

1、官网 http://jupyter.org/ 2、什么是Jupyter Notebook Jupyter Notebook一个交互式的开源笔记本工具,可以用于编写、运行、和共享代码、文本、图形等内容。 如下文本、代码、图形 支持多种编程语言,包括python、R和Julia等,可以走一个…

C语言编译过程总结

开发C程序有四个步骤:预处理、编译、汇编和链接。任何一个体系结构处理器上都可以使用C语言程序,只要该体系结构处理器有相应的C语言编译器和库,那么C源代码就可以编译并连接到目标二进制文件上运行。 我们创建一个test.c为例来讲解程序编译的…

CSS解决div行变块 ➕ CSS解决“table中的td文字溢出控制显示字数,显示省略号”的问题

CSS解决div行变块 ➕ CSS解决“table中的td文字溢出控制显示字数,显示省略号”的问题 1. div变块级设置1.1 先看不设置的效果1.2 再看设置之后的效果 2. 解决 table 中 td 内容过长问题2.1 CSS实现(文字溢出控制td显示字数,显示省略号&#x…

手机转接器实现原理,低成本方案讲解

USB-C PD协议里,SRC和SNK双方之间通过CC通信来协商请求确定充电功率及数据传输速率。当个设备需要充电时,它会发送消息去给适配器请求充电,此时充电器会回应设备的请求,并告知其可提供的档位功率,设备端会根据适配器端…

英伟达发布 Windows 版 TensorRT-LLM 库

导读英伟达发布了 Windows 版本的 TensorRT-LLM 库,称其将大模型在 RTX 上的运行速度提升 4 倍。 GeForce RTX 和 NVIDIA RTX GPU 配备了名为 Tensor Core 的专用 AI 处理器,正在为超过 1 亿台 Windows PC 和工作站带来原生生成式 AI 的强大功能。 Tens…

大模型在代码缺陷检测领域的实践

静态代码扫描(SA)能快速识别代码缺陷,如空指针访问、数组越界等,以较高ROI保障质量及提升交付效率。当前扫描能力主要依赖人工经验生成规则,泛化能力弱且迭代滞后,导致漏出。本文提出基于代码知识图谱解决给机器学什么的问题&…

大数据Doris(十六):Doris表的数据划分

文章目录 Doris表的数据划分 一、Partition 二、 Bucket 三、PROPERTIES 四、 ENGINE Doris表的数据划分 Doris支持单分区和复合分

【深度学习】快速制作图像标签数据集以及训练

快速制作图像标签数据集以及训练 制作DataSet 先从网络收集十张图片 每种十张 定义dataSet和dataloader import glob import torch from torch.utils import data from PIL import Image import numpy as np from torchvision import transforms import matplotlib.pyplot…

CAD操作技巧学习总结

1&#xff0c;已知一个圆&#xff0c;画该圆切线。 L命令画直线&#xff0c;再tan指令确定第一个点为切点&#xff0c;依次输入&#xff08;长度&#xff09;<&#xff08;角度&#xff09;&#xff0c;如55<-45,负号为顺时针。 2&#xff0c;中心点偏移。 O命令偏移&am…

go语言 | grpc原理介绍(三)

了解 gRPC 通信模式中的消息流 gRPC 支持四种通信模式&#xff0c;分别是简单 RPC、服务端流式 RPC、客户端流式 RPC 和双向流式 RPC。 简单 RPC 在gRPC中&#xff0c;一个简单的RPC调用遵循请求-响应模型&#xff0c;通常涉及以下几个关键步骤和组件&#xff1a; 请求头&a…

鸿蒙LiteOs读源码教程+向LiteOS中添加一个简单的基于线程运行时的短作业优先调度策略

一、鸿蒙Liteos读源码教程 鸿蒙的源码是放在openharmony文件夹下&#xff0c;openharmony下的kernel文件夹存放操作系统内核的相关代码和实现。 内核是操作系统的核心部分&#xff0c;所以像负责&#xff1a;资源管理、任务调度、内存管理、设备驱动、进程通信的源码都可以在…

升级 MacOS 系统后,playCover 内游戏打不开了如何解决

我们有些小伙伴在升级了 macOS 系统后大概率会遇到之前能够正常使用的 playCover 突然游戏打不开了&#xff0c;最近 mac 刚刚正式推出了 MacOS 14.1 ,导致很多用户打开游戏会闪退&#xff0c;我们其实只需要更新一下 playCover 就可以解决 playCover 正式版更新会比较慢所以我…

基于生成对抗网络的照片上色动态算法设计与实现 - 深度学习 opencv python 计算机竞赛

文章目录 1 前言1 课题背景2 GAN(生成对抗网络)2.1 简介2.2 基本原理 3 DeOldify 框架4 First Order Motion Model5 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于生成对抗网络的照片上色动态算法设计与实现 该项目较为新颖&am…

【rust/esp32】初识slint ui框架并在st7789 lcd上显示

文章目录 说在前面关于slint关于no-std关于dma准备工作相关依赖代码结果参考 说在前面 esp32版本&#xff1a;s3运行环境&#xff1a;no-std开发环境&#xff1a;wsl2LCD模块&#xff1a;ST7789V2 240*280 LCDSlint版本&#xff1a;master分支github地址&#xff1a;这里 关于s…

【音视频 | opus】opus编码的Ogg封装文件详解

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

汇编语言(举个栗子)

汇编语言&#xff08;Assembly Language&#xff09;是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言&#xff0c;亦称为符号语言。在汇编语言中&#xff0c;用助记符代替机器指令的操作码&#xff0c;用地址符号或标号代替指令或操作数的地址。在不同…

基于51单片机土壤湿度检测及自动浇花系统仿真(带时间显示)

wx供重浩&#xff1a;创享日记 对话框发送&#xff1a;单片机浇花 获取完整源码源文件仿真源文件原理图源文件论文报告等 单片机土壤湿度检测及自动浇花系统仿真&#xff08;带时间显示&#xff09; 具体功能&#xff1a; &#xff08;1&#xff09;液晶第一行显示实际湿度&am…