狂神说Docker学习笔记整理(三)~进阶篇

Docker Compose

简介

docker
Dockerfile bulid run 手动操作,单个容器!
当微面临微服务时;比如有100个微服务项目,并且相互之间有依赖关系。
Docker Compose 来轻松高效的管理容器。定义运行多个容器。

官方介绍

在这里插入图片描述
作用:批量容器编排。

官网点我

使用三部曲:

  • Dokcerfile定义你的项目,这样它就可以在任何地方复制。
  • docker-compos.yml中定义组成项目的各个微服务。
  • 启动项目docker compose up

我自己的理解

compose是docker官方的开源项目。需要安装!
dockerfile让程序在任何地方运行。
docker-compos.yml示例

version: "3.9"  # optional since v1.27.0
services:
  web:
    build: .
    ports:
      - "5000:5000"
    volumes:
      - .:/code
      - logvolume01:/var/log
    links:
      - redis
  redis:
    image: redis
volumes:
  logvolume01: {}

docker-compose up 100个服务
compose:重要的概念
服务services:容器 应用 (web、redis、mysql…)
项目project:一组关联的容器。博客。web 、mysql 、wp

安装

官方文档
在这里插入图片描述

#官方下载
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#授权
chmod +x /usr/local/bin/docker-compose

# 加速下载
curl -L https://get.daocloud.io/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
#授权
chmod +x /usr/local/bin/docker-compose

1 下载
在这里插入图片描述
2 授权
在这里插入图片描述

快速开始 体验

跟着官网做
python应用,计数器 redis

总结:
1、应用app.py
2、Dockerfile应用打包为镜像
3、docker-compose yaml文件(定义整个服务,需要的环境。web、redis)完整的上线服务
4、启动compose项目(docker-compose up)
流程:
1、创建网络
2、执行docker-compose yaml
3、启动服务
docker-compose yaml
creating composetest_web_1 …done
creating composetest_redis_1 …done
在这里插入图片描述
在这里插入图片描述
docker images
在这里插入图片描述
在这里插入图片描述
默认的服务名 文件名_服务名_num
多个服务器。集群。 A B _num 副本数量
服务redis服务=>4个副本。
集群状态。服务都不可能只有一个运行示例。弹性、 10 HA 高并发。
kubectl service 负载均衡。
在这里插入图片描述

网络规则

在这里插入图片描述
10个服务 = > 项目(项目中的内容都在同网络下。域名访问)
在这里插入图片描述
如果在同一个网络下,我们可以直接同域名访问
HA

停止:docker-compose down ctrl+c
在这里插入图片描述
docker-compose
以前都是单个docker run 启动容器。
docker-compose。通过docker-compose编写yaml配置文件、可以通过compose一键启动所有服务,停止。
docker小结

  • docker镜像。run ->容器
  • dockerfile 构建镜像(服务打包)
  • docker-compose 启动项目(编排、多个微服务、环境)
  • docker网络

yaml规则

三层


version: ""  # 版本
services:  # 服务
  web:  #服务1 
  	#配置服务
    build: .
    ports:
      - "5000:5000"
    volumes:
      - .:/code
      - logvolume01:/var/log
    links:
      - redis
  redis:  #服务2 redis
    image: redis
  #服务3:...
#其他配置 网络、卷、 全局规则  
volumes:
  logvolume01: {}

依赖
在描述多个相互有依赖的项目时:

  • docker-compose up 启动服务要按照依赖顺序执行,列如:在启动web项目之前需要先启动db和redis
  • docker-compose up SERVICE自动包含服务依赖。比如创建 docker-compose up web同时也启动了db和redis
  • docker-compose up stop 停止服务也是按照依赖顺序执行,列如,先停止web在停止db和redis

在这里插入图片描述
学习要掌握规律
只要多写,多看compose.yaml配置!

开源项目 博客

下载程序、安装数据库、配置…
compose 应用。 =>一键启动!
项目地址:https://docs.docker.com/compose/wordpress/

  • 下载项目
  • 如果需要文件Dockerfile
  • 文件准备齐全(直接一键启动项目)

前台启动
docker -d
dcoker-compose up -d
在这里插入图片描述
实战

  • 编写项目微服务
  • dockerfile
  • docker-compose.yaml编排项目
  • 上传服务器 docker-compose up

小结
未来项目只要有docker-compose 文件。按照这个规则,启动编排容器!
公司项目:docker-compose 直接启动
网上开源项目: docker-compose一键搞定
假如项目需要重新部署打包

docker-compose up --build #重新构建!

总结:
工程 服务 容器
项目compose: 三层
工程project
服务…
容器运行实例! docker k8s 容器
docker compose搞定

Docker Swarm

购买服务器

4台服务器安装docker

在这里插入图片描述
工作模式
在这里插入图片描述
搭建集群
未完待续…

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值