深入浅出之Docker Compose详解,2024年最新2024春招BAT面试真题详解

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

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

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

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

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

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

以上Linux运维知识点,真正体系化!**

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

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
[外链图片转存中…(img-21JZpwCH-1712814443458)]

  • 29
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值