15.Docker-Compose的概念理解及安装

1.Docker-Compose是什么?

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

2.为什么会有Docker-Compose?它做什么?

随着微服务的发展,我们的系统是由多个微服务构成的,比如一个商城系统,我们用会员服务、商品服务、订单服务、支付服务等,除此之外,我们如果把MySQL和redis也用容器来启动,那么我们至少要启动6个容器,并且各个容器还有启动顺序。那么这样的话,如果我们要运行多个服务,难道我们要每个服务单独写Dockerfile,然后构建镜像,运行容器,很累很繁琐。
所以,随着docker容器越来越多,怎么统一管理容器,比如一键启动、停止、启动顺序的编排、容器之间网络管理成为了一个很大的问题。所以推出了docker-compose多服务部署工具。

3. Docker-Compose是怎么做的?

Docker-Compose允许用户通过一个单独的docker-compose.yml模板文件来定义一组相互关联的应用容器为一个项目。可以很容易的用一个配置文件定义一个多容器应用,然后使用一条指令安装这个应用的所有依赖,完成构建。Docker-Compose解决了容器与容器之间如何管理编排的问题。

3.1 Docker-Compose的核心概念

Docker-Compose的核心概念主要有两个:

  1. docker-compose.yml 配置文件
  2. 两个要素是服务(service)和工程(project),service是指一个个应用容器,比如订单微服务、会员微服务、mysql容器;project简单说就是一个完整的app应用,由一组关联的应用容器组成一个完整业务单元,在docker-compose.yml定义。

3.2 Docker-Compose的使用步骤

  1. 编写Dockerfile定义各个微服务应用并构建出对应的镜像文件;
  2. 使用docker-compose.yml文件,定义一个完整业务单元,编排好应用中的各个容器服务;
  3. 执行docker-compose up命令,来启动并运行整个应用程序,完成一键部署上线。

4. Docker-Compose怎么安装?

4.1 下载

下载最新的稳定版,这里采用这个下载,由于服务器上网络不好下载,我本地下载完成后上传的服务器
下载地址:

https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-linux-x86_64

4.2 上传到服务器

通过ftp上传到服务器下面这个目录下

/usr/local/bin

然后重命名为docker-compose:

mv docker-compose-linux-x86_64 docker-compose

4.3 设置权限

chmod +x /usr/local/bin/docker-compose

在这里插入图片描述

4.4 验证

在这里插入图片描述
在这里插入图片描述

5. 我对Docker-Compose一些看法

Docker-Compose提供了一定能力的容器编排,并且基本是基于单机的,无法在大批量宿主机上进行服务的集群化部署。所以,在一些测试或者开发,甚至说比较小的一些单机项目上可以使用,也仅限于此。所以它的局限性很大,在大规模集群部署时,还是推荐使用k8s。但是在使用k8s之前,我们必须把容器给搞明白。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

佳易王个体诊所管理系统电子处方软件,个体诊所人员服务软件,卫生室配方模板电子病历系统教程

佳易王个体诊所管理系统电子处方软件,个体诊所人员服务软件,卫生室配方模板电子病历系统教程 软件试用版下载可以点击最下方官网卡片 软件功能: 1、配方模板:可以自由添加配方分类,预先设置药品配方,可以…

力扣hot100 最大子数组和 动态规划 分治 无后效性 子问题划分

👨‍🏫 题目地址 无后效性 为了保证计算子问题能够按照顺序、不重复地进行,动态规划要求已经求解的子问题不受后续阶段的影响。这个条件也被叫做「无后效性」。换言之,动态规划对状态空间的遍历构成一张有向无环图,遍…

《许犁庭与柔性世界》第二十五章 藤乃伊

“据说虽然内院被外殿层层环绕,可它们却分属不同系统,是也不是?”台下有人问道。 “没错。就算你天赋异禀,外殿九层一路闯将过去,顺利成为命运师。可若是没收到不忍大师的邀请函,也绝无可能进入内院。” “…

NineData:帮助开发者用好数据和云

导语 :数据库工具是指用于创建、设计、管理、开发、维护和优化数据库的一系列软件工具,包括数据库设计工具、数据库迁移与复制、数据库管理工具、数据安全工具等,这些工具可以帮助数据库管理员和开发人员更高效地管理、使用和开发数据库&…

Lambda表达式与方法引用

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 引子 先来看一个案例 …

技巧-PyCharm中Debug和Run对训练的影响和实验测试

简介 在训练深度学习模型时,使用PyCharm的Debug模式和Run模式对训练模型的耗时会有一些区别。 Debug模式:Debug模式在训练模型时,会对每一行代码进行监视,这使得CPU的利用率相对较高。由于需要逐步执行、断点调试、查看变量值等操…

Python hashlib库解析:数据安全加密必备指南

更多资料获取 📚 个人网站:ipengtao.com 哈希函数在计算机科学中扮演着重要的角色。它是一种能够将任意长度的数据转换成固定长度的唯一值的算法。Python提供了hashlib库,用于生成哈希摘要,提供了常见的哈希算法,如MD…

Prometheus的详细部署

普罗米修斯下载网址: Download | Prometheus 准备两台机器: 192.168.58.152 prometheus 192.168.58.142 node_exporter 关闭防火墙和selinux: [rootlocalhost ~]# setenforce 0 && systemctl stop firewalld[rootlocalhost ~]# seten…

Ubuntu:安装Powershell

Powershell的安装与使用: 1)安装Powershell:在终端依次运行以下命令即可: $ sudo apt-get update $ sudo apt-get install -y wget apt-transport-https software-properties-common $ wget -q "https://packages.microsof…

基于ArcGIS Pro、R、INVEST等多技术融合下生态系统服务权衡与协同动态分析实践应用

生态系统服务是指生态系统所形成的用于维持人类赖以生存和发展的自然环境条件与效用,是人类直接或间接从生态系统中得到的各种惠益。联合国千年生态系统评估(Millennium ecosystem assessment,MA)提出生态系统服务包括供给、调节、…

【Vue】绝了!还有不懂生命周期的?

生命周期 Vue.js 组件生命周期: 生命周期函数(钩子)就是给我们提供了一些特定的时刻,让我们可以在这个周期段内加入自己的代码,做一些需要的事情; 生命周期钩子中的this指向是VM 或 组件实例对象 在JS 中,…

分层理解Java字符串常量池

Java是一门计算机编程语言,但我们脑海中所理解的Java不仅仅是一门语言。它还包括Java虚拟机(JVM)的一系列规定,及具体Java产品(如Hotspot)的实现原理。 不管我们日常在Java中用到的任何一种语法&#xff0…

Ubuntu Linux玩童年小霸王插卡游戏

1.下载安装模拟器 在Windows平台模拟器非常多,而且效果也很优秀,Linux平台的用户常常很羡慕,却因为系统的缘故,无法使用这样的模拟器,但是随着时代的发展,Linux平台也出现了许多优秀的模拟器,现…

选择更灵活的设计工具:SOLIDWORKS 软件网络版与单机版的比较

随着科技的飞速发展,工程设计领域对于高效、灵活的设计工具需求日益增加。SOLIDWORKS 作为一款广受欢迎的三维设计软件,提供了网络版和单机版两种选择。在本文中,我们将深入探讨这两个版本的区别,并为您详细介绍它们的价格差异。 …

基于单片机的烟雾检测报警装置(论文+源码)

1.系统设计 (1)利用传感器实现环境中温度、烟雾浓度的实时检测; (2)系统检测的各项数据信息通过液晶模块进行显示,提高设计可视化; (3)系统可以根据实际情况利用按键模…

20天GMV超过百万美金!桌下迷你跑步机在TikTok Shop美国站热销

上周总GMV达到1.59亿美元,达到历史新高,是美国站自开通以来首次单周出单达到亿级;日均出单1660万美元,单日出单最高达2820万美元; 截至11月19日,GMV Top 5 的商品分类排名依次为:美妆个护、女士…

《深入理解计算机系统》学习笔记 - 第三课 - 位,字节和整型

Lecture 03 Bits,Bytes, and Integer count 位,字节,整型 文章目录 Lecture 03 Bits,Bytes, and Integer count 位,字节,整型运算:加,减,乘,除加法乘法取值范围乘法结果 使用无符号注…

交流负载的功能实现原理

交流负载的功能实现原理主要涉及到电力电子技术、电机控制技术和电力系统保护技术等多个方面。 交流负载的功能实现需要通过电力电子器件进行电能的转换和控制,电力电子器件主要包括开关器件和电力电子变压器等。开关器件主要用于实现电能的通断控制,如晶…

消息队列进阶-1.消息队列的应用场景与选型

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理🔥如果感觉博主的文章还不错的话,请&#x1f44…

vue el-table表格中每行上传文件(上传简历)操作

1、HTML中 <el-table :data"formInfo.userListDto" border stripe max-height"400"><el-table-column type"index" label"序号" width"50"> </el-table-column><el-table-column prop"realName&q…
最新文章