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

news2024/11/25 20:21:02

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

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

相关文章

父进程隐藏——ConsoleApplication903项目

首先我发现用calc来做进程隐藏实验是失败的,父进程一直都是svhost.exe 那么我用我自己生成的cs木马beacon903.exe试试 试试explorer.exe 再试试cmd.exe 可以看到成功变成cmd.exe 可以看到我们可以通过这种方式虚假父进程 以上我们是直接获得的pid,那…

使用shell快速查看电脑曾经连接过的WiFi密码

此方法只能查看以前连接过的wifi名称和对应的密码 查看连接过的WiFi名称netsh wlan show profiles查看具体的WiFi名称netsh wlan show profile name"你的wifi名称" keyclear

万宾科技可燃气体监测仪科技作用全览

燃气管网在运行过程中经常会遇到燃气管道泄漏的问题,燃气泄漏甚至会引起爆炸,从而威胁人民的生命和财产安全,因此对燃气管网进行定期巡检是十分必要的工作。但是传统的人工巡检已不能满足城市的需要,除了选择增加巡检人员之外&…

ssm购物商城系统

摘 要 网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。因此商城购物信息的…

WordPress插件大全-免费的WordPress插件汇总

随着互联网的不断发展,网站建设变得日益普及。对于大多数人而言,WordPress是一个熟悉且易于使用的网站建设平台。然而,有时候我们可能会觉得WordPress的功能还不够满足我们的需求,这时候,插件就成了解决问题的得力工具…

js数组map()的用法

JavaScript Array map() 方法 先说说这个方法浏览器的支持: 支持五大主流的浏览器, 特别注意:IE 9 以下的浏览器不支持,只支持IE 9以上的版本的浏览器 特别注意:IE 9 以下的浏览器不支持,只支持IE 9以上的…

<JavaDS> 二叉树遍历各种遍历方式的代码实现 -- 前序、中序、后序、层序遍历

目录 有以下二叉树: 一、递归 1.1 前序遍历-递归 1.2 中序遍历-递归 1.3 后序遍历-递归 二、递归--使用链表 2.1 前序遍历-递归-返回链表 2.2 中序遍历-递归-返回链表 2.3 后序遍历-递归-返回链表 三、迭代--使用栈 3.1 前序遍历-迭代-使用栈 3.2 中序遍…

flask web开发学习之初识flask(一)

一、概念 flask是一个使用python编写的轻量级web框架,作者为Armin Ronacher(中文名:阿尔敏罗纳彻),它广泛被应用于web开发和API。flask提供了简洁而灵活地方式来构建web应用,它不会强加太多约束&#xff0…

docker安装Sentinel zipkin

文章目录 引言I Sentinel安装1.1 运行容器1.2 DOCKERFILE 参考1.3 pom 依赖1.4 .yml配置(整合springboot)II 资源保护2.1 Feign整合Sentinel2.2 CommonExceptionAdvice:限流异常处理类III zipkin引言 消息服务和请求第三方服务可不配置Sentinel。 I Sentinel安装 Sentinel …

智能优化算法应用:基于人工蜂群算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于人工蜂群算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于人工蜂群算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.人工蜂群算法4.实验参数设定5.算法结果6.参考…

玻色量子真机测试完整报告

​ 真机测试 2023年 2023.8 量子计算突破云渲染资源调度!真机测试完整报告公开! 2023.8 量子计算突破金融信用评分!真机测试完整报告公开! 组合优化问题专题 2023年 2023.7 玻色量子“揭秘”之旅行商问题与Ising建模 2023.…

食谱菜谱大全API接口

食谱菜谱大全API接口 一、食谱菜谱大全API接口二、使用步骤1、接口2、请求参数3、请求参数示例4、接口 返回示例 三、 如何获取appKey和uid1、申请appKey:2、获取appKey和uid 四、重要说明 一、食谱菜谱大全API接口 包含所有家用或者商用的食谱菜谱的API接口 二、使用步骤 1…

MySQL索引使用总结

索引(index) 官方定义:一种提高MySQL查询效率的数据结构 优点:加快查询速度 缺点: 1.维护索引需要消耗数据库资源 2.索引需要占用磁盘空间 3.增删改的时候会影响性能 索引分类 索引和数据库表的存储引擎有关,不同的存储引擎&am…

uniapp地图基本使用及解决添加markers不生效问题?

uniapp地图使用 App端 通过 nvue 页面实现地图 文章目录 uniapp地图使用效果图templatejs添加 marker使用地图查看位置移到到当前位置 效果图 template <template><view class"mapWrap"><!-- #ifdef APP-NVUE --><map class"map-containe…

Java---权限修饰符、final、static

文章目录 1. 权限修饰符2. final(最终态)3. static(静态) 1. 权限修饰符 修饰符同一个类中同一个包中的子类和无关类不同包的子类不同包的无关类private√默认√√protected√√√public√√√√ 2. final(最终态) 1. final关键字是最终的意思&#xff0c;可以修饰成员方法、…

量子力学技术前沿:探索、挑战与未来

量子力学技术前沿:探索、挑战与未来 一、引言 量子力学,这门揭示微观世界规律的学科,自诞生以来就在科技领域发挥着举足轻重的作用。随着科技的飞速发展,量子力学的应用也在不断拓展和深化。今天,我将带领大家一起领略量子力学技术的魅力,探讨其发展趋势和挑战。 二、量…

【Vue】绝了!这生命周期流程真...

hello&#xff0c;我是小索奇&#xff0c;精心制作的Vue系列持续发放&#xff0c;涵盖大量的经验和示例&#xff0c;如果对您有用&#xff0c;可以点赞收藏哈~ 生命周期 Vue.js 组件生命周期&#xff1a; 生命周期函数&#xff08;钩子&#xff09;就是给我们提供了一些特定的…

STM32之模数转换器ADC

目录 1、ADC介绍 1.什么是ADC&#xff1f; ADC的全称是Analog-to-Digital Converter&#xff0c;指模拟/数字转换器 2.ADC的性能指标 3.ADC特性 12位分辨率 4.ADC通道 5.ADC转换顺序 6.ADC触发方式 7.ADC转化时间 8.ADC转化模式 9.模拟看门狗 实验&#xff1a;使用ADC读…

【C数据(一)】数据类型和变量你真的理解了吗?来看看这篇

&#x1f308;write in front :&#x1f50d;个人主页 &#xff1a; 啊森要自信的主页 ✏️真正相信奇迹的家伙&#xff0c;本身和奇迹一样了不起啊&#xff01; 欢迎大家关注&#x1f50d;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;>希望看完我的文章对你有小小的帮助&am…

Shell条件变量练习

1.算数运算命令有哪几种&#xff1f; (1) "(( ))"用于整数运算的常用运算符&#xff0c;效率很高 [rootshell scripts]# echo $((24*5**2/8)) #(( ))2452814 14 (2) "$[ ] "用于整数运算 [rootshell scripts]# echo $[24*5**2/8] #[ ]也可以运…