尚硅谷Docker实战教程-笔记12【高级篇,Docker-compose容器编排】

  • 尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】
  • 视频地址:尚硅谷Docker实战教程(docker教程天花板)_哔哩哔哩_bilibili
  1. 尚硅谷Docker实战教程-笔记01【基础篇,Docker理念简介、官网介绍、平台入门图解、平台架构图解】
  2. 尚硅谷Docker实战教程-笔记02【基础篇,Docker安装、镜像加速器配置】
  3. 尚硅谷Docker实战教程-笔记03【基础篇,Docker常用命令】
  4. 尚硅谷Docker实战教程-笔记04【基础篇,Docker镜像】
  5. 尚硅谷Docker实战教程-笔记05【基础篇,Docker本地镜像发布到阿里云与私有库】

  6. 尚硅谷Docker实战教程-笔记06【基础篇,Docker容器数据卷】

  7. 尚硅谷Docker实战教程-笔记07【基础篇,Docker常规安装简介】

  8. 尚硅谷Docker实战教程-笔记08【高级篇,Docker复杂安装详说】

  9. 尚硅谷Docker实战教程-笔记09【高级篇,DockerFile解析】

  10. 尚硅谷Docker实战教程-笔记10【高级篇,Docker微服务实战】

  11. 尚硅谷Docker实战教程-笔记11【高级篇,Docker网络】

  12. 尚硅谷Docker实战教程-笔记12【高级篇,Docker-compose容器编排】

  13. 尚硅谷Docker实战教程-笔记13【高级篇,Docker轻量级可视化工具Portainer】

  14. 尚硅谷Docker实战教程-笔记14【高级篇,Docker容器监控之CAdvisor+InfluxDB+Granfana、Docker终章总结】

目录

2.高级篇(大厂进阶)

5.Docker-compose容器编排

P078【78_compose是什么能干嘛】11:29

P079【79_compose下载安装步骤】07:01

P080【80_compose核心概念】08:02

P081【81_微服务改造升级并生成新镜像】23:31

P082【82_不用compose编排服务上集】02:49

P083【83_不用compose编排服务下集】06:42

P084【84_使用compose编排服务上集】04:19

P085【85_使用compose编排服务中集】11:43

P086【86_使用compose编排服务下集】08:21


2.高级篇(大厂进阶)

5.Docker-compose容器编排

P078【78_compose是什么能干嘛】11:29

Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启动/关闭这些容器。

docker建议我们每一个容器中只运行一个服务,因为docker容器本身占用资源极少,所以最好是将每个服务单独的分割开来但是这样我们又面临了一个问题?

 

如果我需要同时部署好多个服务,难道要每个服务单独写Dockerfile然后在构建镜像、构建容器,这样累都累死了,所以docker官方给我们提供了docker-compose多服务部署的工具。

 

例如要实现一个Web微服务项目,除了Web服务容器本身,往往还需要再加上后端的数据库mysql服务容器,redis服务器,注册中心eureka,甚至还包括负载均衡容器等等。。。。。。

 

Compose允许用户通过一个单独的docker-compose.yml模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。

 

可以很容易地用一个配置文件定义一个多容器的应用,然后使用一条指令安装这个应用的所有依赖,完成构建。Docker-Compose 解决了容器与容器之间如何管理编排的问题。

P079【79_compose下载安装步骤】07:01

  • 官网:https://docs.docker.com/compose/compose-file/compose-file-v3/
  • 官网下载:https://docs.docker.com/compose/install/
[root@node001 ~]# curl -SL https://github.com/docker/compose/releases/download/v2.19.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
100 57.6M  100 57.6M    0     0  7734k      0  0:00:07  0:00:07 --:--:-- 11.1M
[root@node001 ~]# chmod +x /usr/local/bin/docker-compose
[root@node001 ~]# docker-compose --version
Docker Compose version v2.19.1
[root@node001 ~]# 

P080【80_compose核心概念】08:02

Compose使用的三个步骤

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

Compose常用命令

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      # 停止服务

P081【81_微服务改造升级并生成新镜像】23:31

P082【82_不用compose编排服务上集】02:49

P083【83_不用compose编排服务下集】06:42

P084【84_使用compose编排服务上集】04:19

version: "3"

services:
  microService:
    image: zzyy_docker:1.6
    container_name: ms01
    ports:
      - "6001:6001"
    volumes:
      - /app/microService:/data
    networks: 
      - atguigu_net 
    depends_on: 
      - redis
      - mysql

  redis:
    image: redis:6.0.8
    ports:
      - "6379:6379"
    volumes:
      - /app/redis/redis.conf:/etc/redis/redis.conf
      - /app/redis/data:/data
    networks: 
      - atguigu_net
    command: redis-server /etc/redis/redis.conf

  mysql:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: '123456'
      MYSQL_ALLOW_EMPTY_PASSWORD: 'no'
      MYSQL_DATABASE: 'db2021'
      MYSQL_USER: 'zzyy'
      MYSQL_PASSWORD: 'zzyy123'
    ports:
       - "3306:3306"
    volumes:
       - /app/mysql/db:/var/lib/mysql
       - /app/mysql/conf/my.cnf:/etc/my.cnf
       - /app/mysql/init:/docker-entrypoint-initdb.d
    networks:
      - atguigu_net
    command: --default-authentication-plugin=mysql_native_password #解决外部无法访问

networks:
   atguigu_net: 

P085【85_使用compose编排服务中集】11:43

P086【86_使用compose编排服务下集】08:21

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

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

相关文章

3.2.17 什么是数组及应用

【分享成果,随喜正能量】人这一生,好不好都得自己走,累不累都得自己承受。每个人都有难言之苦,每个人都有无声的泪,岁月可曾放过谁?再风光的人,背后都有寒凉凄楚,再幸福的人&#xf…

[每周一更]-(第54期):Go的多版本管理工具

参考 https://zhuanlan.zhihu.com/p/611253641https://learnku.com/articles/78326 前文概要 Go语言从开始使用从1.13起步,随着泛型的支持,带领团队在转型Go的时候,做基础组件架构选型使用1.18,但是Go版本不断迭代想使用最新版本…

C++类相关概念

1. 函数形参默认值 (1) 建议函数(不仅仅是构造函数)形参默认值只在函数声明中指定; (函数声明和定义写在同一个文件中,则函数声明、定义两者之一或两者都可指定形参默认值,两者都指…

中国移动光猫设置桥接

网上教程五花八门,有些坑有些行,我试成功了,记录一下方法。 一、流程简述 1. 使用超级管理员账号登录中国移动光猫,设置桥接,并重启 2. 用网线连接路由器和光猫,登录路由器,设置宽带拨号&…

数据分析——AB测试应用与实战

摘要 某电商公司非常注重自己的落地页设计,希望通过改进设计来提高转化率。以往该公司全年转化率平均在13%左右,现在希望设计的新页面能够带来更高的转化率,希望新页面的转化率能有2%的提升,达到15%。在正式推出新页面之前&#…

【Distributed】分布式ELK日志文件分析系统(二)

文章目录 一、FilebeatELK 部署1. 环境部署2. 在 Filebeat 节点上操作2.1 安装 Filebeat2.2 设置 filebeat 的主配置文件 3. 在 Apache 节点上操作3.1 在 Logstash 组件所在节点上新建一个 Logstash 配置文件 3. 启动3.1 在Logstash 组件所在节点启动3.2 在 Filebeat 节点 启动…

Python调用ImageMagick生成PDF文件缩略图

使用Python调用ImageMagick生成PDF文件缩略图 Imagemagick使用Ghostscript作为其依赖项之一,以便能够处理和转换PDF相关的图像。 准备 安装Ghostscript,网站安装ImageMagick,网站 安装完毕后,需要自行配置环境路径 脚本 使用示…

【USRP X310】如何将你的X310转化为USRP RIO 可以用于FPGA编程

X310 转化为USRP RIO X310产品X310和NI-USRP对应关系 简介第一步原理解释打开工具运行 Initialize Flash.vi可以去选择设备类型Hardware Current Version 如何选择 第二步创建工程运行校准程序 附录:射频子板的IDWBXSBXCBXUBXTwinRX X310产品 X310和NI-USRP对应关系…

jvm新生代调优

5-4 新生代调优 只有排除了自己代码的问题后,再进行内存调优,内存调优都是从新生代开始,因为新生代优化空间更大一些 新生代的特点 所有的new操作分配内存都是非常廉价的,非常快 TLAB:thread-local allocation buf…

Redis——基础篇(包含redis在云服务上的docker化安装和连接以及常用命令)

初识Redis Redis为键值型数据库,数据以键值形式存储。没有表,没有约束。 认识NoSQL mysql就是典型的关系型数据库(SQL)。 目的都是数据的增删改查,但数据存储方式不一样。 关系型和非关系型在结构上有差异 关系型的结构一般定好后就很少修…

【JAVAEE】JVM中垃圾回收机制 GC

博主简介:想进大厂的打工人博主主页:xyk:所属专栏: JavaEE初阶 上篇文章我们讲了java运行时内存的各个区域。 传送门:【JavaEE】JVM的组成及类加载过程_xyk:的博客-CSDN博客 对于程序计数器、虚拟机栈、本地方法栈这三部分区域而言&#x…

动态规划01背包之1049 最后一块石头的重量 II(第9道)

题目: 有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 。那么粉碎的可能结果如下: …

微信小程序(二)

目录 1、input标签 一、表单绑定 1、数据绑定 2、输入获取 二、网络请求 1、介绍 2、注意 3、使用 4、基于Promise封装 三、自定义组件 1、创建 2、父向子组件通信 3、子向父组件通信 4、生命周期 四、vant weapp组件库 1、配置 2、使用 进入本章前的拓展&#…

Git❀详细使用教程

Git❀详细使用教程 一、Git简介1.1 什么是Git?1.2 Git的特点1.3 集中式与分布式的区别?1.4 Git工作流程图 二、Git安装与常用命令2.1 Git环境配置2.1.1 下载与安装2.1.2 基本配置2.1.3 为常用指令设置别名(可选)2.1.4 解决GitBash…

jsonschema networknt json-schema-validator 高级能力json 数字很大时, 变成什么类型

入参校验产品化 schema_个人渣记录仅为自己搜索用的博客-CSDN博客 自动变成了bigInteger类型. 哪怕你的jsonSchema 配置的是integer , 不冲突.

AlGaN基深紫外FP激光器仿真模型及材料信息数据库有何用途?

波长范围为UVC波段(100-280 nm)的深紫外FP(Fabry-Pero,法布里和珀罗是两位法国的科学家)激光器可广泛应用于数据通信、光通信、3D打印、材料加工、显示与照明、激光雷达、人脸/手势识别、医疗和表面监测等领域。FP激光…

2023年Q2京东冰箱行业品牌销售排行榜(京东销售数据分析)

近年我国的冰箱零售呈波动变化的趋势,由于冰箱市场趋于饱和,因此消费者对冰箱的需求逐渐变为替换需求,这也进一步推动了产品的更新迭代。接下来结合具体数据,我们来分析一下2023年Q2冰箱行业的销售详情。 根据鲸参谋电商数据分析平…

SpringBoot+Vue实现的高校图书馆管理系统

项目描述:这是一个基于SpringBootVue框架开发的高校图书馆管理系统。首先,这是一个前后端分离的项目,代码简洁规范,注释说明详细,易于理解和学习。其次,这项目功能丰富,具有一个高校图书馆管理系…

6.2.5 网络基本服务----动态主机配置协议DHCP

6.2.5 网络基本服务----动态主机配置协议DHCP 动态主机配置协议允许一台计算机加入新的网络时可自动获取网络配置信息,不用人工参与。连网的计算机需要配置的参数包括 IP地址子网掩码默认路由器的IP地址域名服务器IP地址 DHCP与DNS、FTP、Telnet一样也采用客户服…

Lua脚本本地调试

这里主要使用日志的方式进行debug 环境依赖 项目对openresty包的依赖比较高,所以环境基础都在openresty下进行 openresty的使用 openresty下载地址 下载完成后解压,具体使用方式和nginx没有什么区别,主要依赖文件是一下几个 nginx.exe …
最新文章