深入浅出之Docker Compose详解,Linux运维面试回忆录

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
img

正文

1.4 Docker Compose 使用步骤

1.5 Docker Compose 常用命令

2. Docker Compose 实战

2.1 Docker Compose下载和卸载

2.2 Docker Compose 项目概述

2.3 Docker Compose 编排字段部分详解

2.3.1 version

2.3.2 services

2.3.3 build 和 image

2.3.4 volumes 和 environment

2.3.5 ports 和 expose

2.4 Docker Compose 部署实战


1.Docker Compose概述

1.1 Docker Compose 定义

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

1.2 Docker Compose产生背景

我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build、docker run 等命令操作容器。然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知。

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。.Docker Compose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器,Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。

1.3 Docker Compose 核心概念

Docker Compose将所管理的容器分为三层, 分别是工程(project),服务(service)以及容器(containner),如下图所示:

c3ea7117e68a4c58ad9cbc558e7c20c6.png

1.4 Docker Compose 使用步骤

Compose 使用的三个步骤:

1.编写Dockerfile定义各个微服务应用并构建出对应的镜像文件dockerfile的使用,使用dockerfile部署springboot项目。

2.使用 docker-compose.yml 定义一个完整业务单元,安排好整体应用中的各个容器服务。

3.最后,执行docker-compose up命令 来启动并运行整个应用程序,完成一键部署上线。

1.5 Docker Compose 常用命令

docker --version #查看版本

docker-compose -h    # 查看帮助

docker-compose up    # 启动所有docker-compose服务

docker-compose up -d    # 启动所有docker-compose服务并后台运行

docker-compose down     # 停止并删除容器、网络、卷、镜像。

docker-compose exec  yml里面的服务id   # 进入容器实例内部  docker-compose exec docker-compose.yml文件中写的服务id /bin/bash

docker-compose ps      # 展示当前docker-compose编排过的运行的所有容器

docker-compose top       # 展示当前docker-compose编排过的容器进程

docker-compose logs  yml里面的服务id   # 查看容器输出日志

docker-compose config     # 检查配置

docker-compose config -q  # 检查配置,有问题才有输出

docker-compose restart   # 重启服务

docker-compose start     # 启动服务

docker-compose stop      # 停止服务

2. Docker Compose 实战

2.1 Docker Compose下载和卸载

# 下载
 curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 开启可执行权限
chmod +x /usr/local/bin/docker-compose

# 查看版本
docker-compose --version
#docker-compose version 1.29.2, build 5becea4c

# 如果使用curl方式安装的,这样卸载即可
 rm /usr/local/bin/docker-compose

2.2 Docker Compose 项目概述

这里模拟通过浏览器访问网关,然后网关将请求转发到订单微服务,通过查询订单返回订单信息,在其中过程中订单中有用户信息,需要根据订单中的用户id调用用户微服务进行查询然后进行赋值然后返回订单信息。这里的注册中心采用nacos。其中的每个微服务暂未搭建集群,这里网关端口号为7000,订单微服务端口号为8080,用户模块微服务端口号为9201,本地运行结果如下图:

357967864766451db5b74b873aba98c6.png

2.3 Docker Compose 编排字段部分详解

2.3.1 version

version 字段指定了 Docker Compose 编排文件的版本,例如:

version: '3'

2.3.2 services

services 字段指定了在 Docker Compose 编排中要运行的服务。每个服务都有一个名称,并指定要使用的镜像和容器的配置选项。例如:

services:
  mysql: #服务名
    image: mysql:5.5 #mysql镜像
  
2.3.3 build 和 image

build 字段允许在 Docker Compose 编排中指定 Dockerfile 的位置,从而可以使用 Docker Compose 构建镜像。image 字段指定要使用的 Docker 镜像。例如:

services:
  mysql: #服务名
    image: mysql:5.5 #mysql镜像
  user: #服务名


### 最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

### 资料预览

给大家整理的视频资料:

![](https://img-blog.csdnimg.cn/img_convert/7301a7ab923bd93a890053701da5132f.png)

给大家整理的电子书资料:

  

![](https://img-blog.csdnimg.cn/img_convert/6886734510c0c077a9d0ad34b97da3dd.png)



**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**


**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
![img](https://img-blog.csdnimg.cn/img_convert/a47a2892f56370e9d5f654a97d41a08c.jpeg)

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
[外链图片转存中...(img-0qcFatf6-1713256079262)]

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker ComposeDocker官方的开源项目,用于实现对Docker容器集群的快速编排。它可以管理多个Docker容器,将它们组成一个应用。为了使用Docker Compose,你需要定义一个YAML格式的配置文件docker-compose.yml,其中包含了多个容器之间的调用关系。通过简单的命令,你可以同时启动或关闭这些容器。 Docker Compose由Python编写,并调用Docker服务提供的API来管理容器。因此,只要所操作的平台支持Docker API,就可以利用Compose进行容器编排和管理。 Docker Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。一个工程可以包含多个服务,每个服务定义了容器运行的镜像、参数和依赖关系。一个服务可以包括多个容器实例。需要注意的是,Docker Compose并没有解决负载均衡的问题,因此你可能需要借助其他工具来实现服务发现和负载均衡,比如Consul。 总结来说,Docker Compose是一个功能强大的工具,可以帮助你快速编排和管理容器集群,实现应用的部署和扩展。使用Compose,你可以通过简单的配置文件定义容器之间的关系,然后使用命令轻松地启动、停止和管理这些容器。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [深入浅出Docker Compose详解](https://blog.csdn.net/qq_43649937/article/details/131073227)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Docker 容器编排之 --- docker-compose 详解](https://blog.csdn.net/shenyuanhaojie/article/details/121713626)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值