Docker compose容器编排

news2025/3/1 14:15:16

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: Dockerfile
    depends_on:          //容器启动顺序,该容器依赖某个容器
      - xxx
    expose:		 //容器开放端口
      - 80
    ports: 		 //配置容器映射端口号[数组]
      - 80:80
    volumes:		 //配置挂载卷
      - db_data:/var/www/html
    networks: 		 //配置容器网络[数组]
      - 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 version

docker-compose version 1.29.2, build 5becea4c

docker-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.coloradmin.cn/o/1158003.html

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

相关文章

pytorch复现_conv2d

import numpy as npdef conv2d(inputs, kernels, bias, stride, padding):"""正向卷积操作inputs: 输入数据,形状为 (C, H, W)kernels: 卷积核,形状为 (F, C, HH, WW),C是图片输入层数,F是图片输出层数bias: 偏置&…

J2L3x 团队沟通协作软件双十一特惠活动 三重福利享不停!

福利一:J2L3x 系统免费账号限量领 我们精心为你提供了 J2L3x 系统免费账号,账号数量有限哦!快来注册领取,即可畅享 J2L3x 的高效沟通和团队协作,无论何时何地,都可以与团队紧密协作,提高工作效率…

总结对比硬件和渲染设置对AE渲染速度和质量的影响

相同模板 2018开了光追 2023没开 旧电脑没开 新电脑开了 具体参数 新电脑:cpu i7 14700KF gpu 4060ti 16g 内存ddr5 64g 4800频率 旧电脑参数:gpu 1660 cpu i7 第三代 内存 ddr3 32g 使用效果:e3d(采样值提高)、灯光…

汽车电子中的NCV70517MW002R2G 微步进电机驱动器 车规级芯片 安全可靠

NCV70517MW002R2G是一款用于双极步进电机的微步进电机驱动器。该芯片通过 IO 引脚和 SPI 接口与外部微控制器进行联接。包含一个电流转换表,根据 NXT 输入引脚上的时钟信号以及 DIR(方向)寄存器或输入引脚的状态采用下一个微步进。如果检测到…

Zabbix“专家坐诊”第209期问答汇总

问题一 Q:我用shellwebhook 推送天气情况,但是一直有报错,是什么问题呢? A1:单引号把变量引起来就不是变量了,这几个改成双引号试下,不行的话就在双引号前面加转义符 !在这里插入图片描述 A2&a…

众和策略:承诺10年不减持转让!这家造车新势力拼了!

当地时间10月31日,美股三大股指收高,但在10月份均录得跌幅。其间,道指涨0.38%,10月份累计下跌1.36%;标普指数涨0.65%,10月份累计下跌2.2%;纳斯达克指数涨0.48%,10月份累计下跌2.78%。…

由QTableView/QTableWidget显示进度条和按钮,理解qt代理delegate用法

背景: 我的最初应用场景,就是要在表格上用进度条显示数据,以及放一个按钮。 qt-creator中有自带的delegate示例可以参考,但终归自己动手还是需要理解细节,否则不能随心所欲。 自认没那个天赋,于是记录下…

LSF 守护程序和进程、集群通信路径和安全模型

LSF 细观 了解在 LSF 主机上运行的各种守护进程,LSF 集群通信路径,以及 LSF 如何容许集群中的主机故障。 1、LSF 守护程序和进程 集群中的每个主机上都运行多个 LSF 进程。 正在运行的进程的类型和数量,取决于主机是主节点还是计算节点。 主…

LiveGBS流媒体平台GB/T28181常见问题-概览中负载信息具体表示什么直播、回放、播放、录像、H265、级联等

LiveGBS常见问题-概览中负载信息具体表示什么直播、回放、播放、录像、H265、级联等 1、负载信息2、负载信息说明3、搭建GB28181视频直播平台 1、负载信息 实时展示直播、回放、播放、录像、H265、级联等使用数目 2、负载信息说明 直播:当前推流到平台的实时视频…

Windows ObjectType Hook 之 OpenProcedure

1、背景 Object Type Hook 是基于 Object Type的一种深入的 Hook,比起常用的 SSDT Hook 更为深入。 有关 Object Type 的分析见文章 《Windows驱动开发学习记录-ObjectType Hook之ObjectType结构相关分析》。 这里进行的 Hook 为 其中之一的 OpenProcedure。文章分两…

计算机数据库中了locked勒索病毒怎么解决,勒索病毒解密,数据恢复

网络的发展为企业的生产生活提供了极大的便利,但是,随之而来的网络安全威胁也不断增加,从11月份以来,云天数据恢复中心陆续接到很多企业的求助,企业的计算机数据库遭到了locked勒索病毒攻击,所有数据库中的…

【C/C++】空指针访问成员函数

C中空指针也是可以调用成员函数的&#xff0c;但是也要注意有没有用到this指针。 如果用到this指针&#xff0c;需要加以判断保证代码的健壮性。 示例&#xff1a; #include <iostream> #include <string> using namespace std;//空指针访问成员函数 class Pers…

JVM堆内存解析

一、JVM堆内存介绍 Java大多数对象都是存放在堆中&#xff0c;堆内存是完全自动化管理&#xff0c;根据垃圾回收机制不同&#xff0c;Java堆有不同的结构&#xff0c;下面是我们一台生产环境服务器JVM堆内存空间分配情况&#xff0c;JVM只设置了-Xms2048M -Xmx2048M。 1、JVM堆…

cnpm windows系统安装后查看版本cnpm -v报错Error: Cannot find module ‘node:util‘

1、报错截图 2、原因 在网上查了一些资料&#xff0c;有的说配置环境变量就可以&#xff0c;但经过配置后发现还是会报错。又查到说是由于cnpm和npm的版本不一致导致的&#xff0c;最后尝试成功解决&#xff01;&#xff01;&#xff01; 2、解决办法 1、先卸载掉之前安装的c…

【Git企业开发】第四节.Git的分支管理策略和bug分支

文章目录 前言一、Git的分支管理策略 1.1 Fast forward 模式和--no-ff 模式 1.2 企业分支管理策略二、bug分支三、删除临时分支四、总结总结 前言 一、Git的分支管理策略 1.1 Fast forward 模式和--no-ff 模式 通常合并分支时&#xff0c;如果可能&#xff0c;Git 会…

leetcode82删除排序链表中的重复元素

删除链表重复元素 题目描述 思路分析 思路1&#xff1a;采用一次遍历&#xff0c;内部循环判定是否相等 具体分析一下指针移动 外部循环判定卡住的位置 c语言代码&#xff1a; #include <stdio.h> #include <stdlib.h>struct ListNode {int val;struct ListNode …

Paper reading: segment anything in high quality NIPS2023

最近发展起来的SAM模型&#xff0c;表示分割模型的一个大的跃进&#xff0c;尤其是在零样本的能力和灵活提升方面。尽管利用1.1bollion的mask&#xff0c;SAM在掩码预测方面已经存在很大的问题&#xff0c;尤其是目标有着复杂结构的时候。 我们提出一个HA-SAM。 设计学习一个…

2023腾讯云双11优惠价格表发布:轻量云服务器和CVM云服务器的优惠价格

双十一购物狂欢节即将来临&#xff0c;作为IT行业的从业者或企业用户&#xff0c;我们也可以享受到腾讯云在这个节日里带来的超值优惠。近日&#xff0c;腾讯云发布了2023年双十一优惠价格表&#xff0c;其中包括了轻量云服务器和CVM云服务器的各项优惠价格。本文将为您详细介绍…

labelme安装后无法启动

问题 labelme安装后无法启动&#xff0c;输入labelme后出现了如下错误信息&#xff1a; labelme : 无法将“labelme”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写&#xff0c;如果包括路径&#xff0c;请确保路径正确&#xff0c;然后再试一次。 所…

2023年10月文章一览

2023年10月编程人总共更新了6篇文章&#xff1a; 1.2023年9月文章一览 2.Programming abstractions in C阅读笔记&#xff1a;p161-p165 3.Programming abstractions in C阅读笔记&#xff1a;p166-p175 4.Programming abstractions in C阅读笔记&#xff1a;p176-p178 5.…