Docker入门(三)服务编排

上期我们讲到Docker常用服务安装,那么我们本章将学习更快捷安装和部署项目


文章目录

  • Docker入门(三)服务编排
    • @[TOC](文章目录)
  • 前言
  • 一、Docker Compose
    • 1.安装Docker Compose
      • 安装
      • 设置文件可执行权限
      • 查看版本信息
      • 由于是通过二进制包方式安装的,卸载只需删除二进制文件即可
  • 二、编排Demo(nginx+springboot)
    • 1. 创建docker-compose目录
    • 2. 编写 docker-compose.yml 文件
    • 3. 创建./nginx/conf.d目录
    • 4. 在./nginx/conf.d目录下 编写app.conf文件
    • 5. 在~/docker-compose 目录下 使用docker-compose 启动容器
    • 6. 测试访问

前言

微服务架构的应用系统中一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启动停止,维护的工作量会很大。来看下我们日常工作:

  • 要从Dockerfile build image 或者去dockerhub拉取image
  • 要创建多个container
  • 要管理这些container(启动停止删除)

面对大量服务和项目时这个过程就显得过于繁琐,视乎和平常部署一样甚至更繁琐,
对于这种情况我们可以通过服务编排可以大量简化上面的工作服务编排:按照一定的业务规则批量管理容器


一、Docker Compose

Docker Compose是一个编排多容器分布式部署的工具,提供命令集中管理容器化应用的完整开发周期,包括服务构建,启动和停止。使用步骤:

  1. 利用 Dockerfile 定义运行环境镜像
  2. 使用 docker-compose.yml 定义组成应用的各服务
  3. 运行 docker-compose up 启动应用

1.安装Docker Compose

安装

Compose目前已经完全支持Linux、Mac OS和Windows,在我们安装Compose之前,需要先安装Docker。下面我 们以编译好的二进制包方式安装在Linux系统中。

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

设置文件可执行权限

提示:不设置权限会无法正常使用

chmod +x /usr/local/bin/docker-compose

查看版本信息

docker-compose -version

由于是通过二进制包方式安装的,卸载只需删除二进制文件即可

rm /usr/local/bin/docker-compose

二、编排Demo(nginx+springboot)

1. 创建docker-compose目录

mkdir ~/docker-compose
cd ~/docker-compose

2. 编写 docker-compose.yml 文件

我们演示app为一个简易微服务,多个微服务部署同理

# version随便写
version: '3'
services:nginx:image: nginxports:- 80:80links:- appvolumes:- ./nginx/conf.d:/etc/nginx/conf.d# 项目名称app:# 项目镜像image: app# 项目服务端口expose:- "8080"

3. 创建./nginx/conf.d目录

mkdir -p ./nginx/conf.d

4. 在./nginx/conf.d目录下 编写app.conf文件

server {listen 80;access_log off;location / {// 请求访问路径,app为项目名称proxy_pass http://app:8080/hello;}
}

5. 在~/docker-compose 目录下 使用docker-compose 启动容器

// -d表示已守护模式启动
docker-compose up -d

6. 测试访问

http://服务器ip/hello

Docker入门(三)服务编排相关推荐

  1. Docker入门 三 用服务来扩展和负载均衡你的应用

    我们希望扩展和负载均衡自己的应用,为了达到这个目的,需要要分布式应用中使用更高一级的服务. 关于服务 对于分布式系统而言,不同的组成部分叫做"服务".例如,对于一个视频分享网站,它 ...

  2. docker 单节点服务编排部署指南(docker-compose)

    Docker-Compose 多容器部署工具 概述 Docker-Compose 项目是 Docker 官方的开源项目,是用于定义和运行多容器 Docker 应用程序的工具.负责实现对 Docker ...

  3. Docker入门(三):容器(Containers)

    这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...

  4. Docker Compose 1.18.0 之服务编排详解

    一个使用Docker容器的应用,通常由多个容器组成.使用Docker Compose,不再需要使用shell脚本来启动容器.在配置文件中,所有的容器通过services来定义,然后使用docker-c ...

  5. Docker入门六部曲——服务

    原文链接:http://www.dubby.cn/detail.html?id=8735 准备 已经安装好Docker 1.13或者以上的版本. 安装好Docker Compose.如果你是用的是Do ...

  6. dockers-系统学习-docker compose服务编排

    dockers-系统学习-docker compose服务编排 一.服务编排 1.1.概念 按照一定的业务规则批量管理容器 1.2.问题 微服务架构的应用系统中一般包含若干个微服务,每个微服务一般都会 ...

  7. Docker 安装 命令 数据卷 应用部署 网络优化 Dockerfile 服务编排Compose 私有仓库

    Docker 1. 初识docker 1.1 Docker是什么 了解Docker的前生LXC LXC与docker的关系 Docker 的特点 1.2 为什么使用Docker Docker的优势 缺 ...

  8. docker swarm 集群服务编排部署指南(docker stack)

    Docker Swarm 集群管理 概述 Docker Swarm 是 Docker 的集群管理工具.它将 Docker 主机池转变为单个虚拟 Docker 主机,使得容器可以组成跨主机的子网网络.D ...

  9. Docker服务编排详解——(六)

    Docker服务编排详解--(六) 一.Docker Compose 概述 二.Docker Compose 安装 三.Docker Compose 使用 一.Docker Compose 概述 Co ...

最新文章

  1. jQuery避免$符和其他JS库冲突的方法对比
  2. ubuntu进入linux系统安装程序,Ubuntu Linux下安装软件方法
  3. 在 MFC SDI 程序中实现多语言程序界面
  4. 初学者python笔记(函数)
  5. 初探C语言指针之何为指针变量
  6. 失物招领小程序_在机场丢了东西怎么办?温州机场失物招领在线办理平台暖心上线!...
  7. 理光打印机服务器响应错误,理光网络打印机服务器设置
  8. 每天工作忙,学会python自动收发邮件,代替你问候女友
  9. Brocade 光纤交换机配置命令
  10. python考试报名官网安徽_2019年3月安徽宿州学院全国计算机等级考试报名通知
  11. 网站建设中百度快照劫持是什么?劫持百度快照是怎么回事?
  12. pandas_计算最大回撤
  13. PS绘制飘逸彩色丝带教程
  14. 九龙证券|外资放大招,400亿巨头狂飙!这只翻倍股却突然崩了
  15. rtsp 报文转发_stp技术回顾和rstp经典笔记
  16. linux rsync文件夹增量同步
  17. 阿里巴巴淘系技术部拍卖部-春招提前批
  18. libxml2对XML文件的创建、解析、查找、修改
  19. matlab中的sjy定义,sjy(sjy是什么缩写)
  20. ASPCMS标签教程

热门文章

  1. python批量读取图片文件大小_python 批量更改图像尺寸到统一大小
  2. Python通过异或运算对email地址进行解密与加密
  3. 对不起,学会这些知识后我飘了
  4. indicator function指示函数
  5. javax.validation.constraints 使用
  6. python turtle 画树
  7. win10安装selenium
  8. 云消费机通讯协议 附Java、PHP、Python、C# 、.Net、VB、Delphi、VFP、Android示例源码
  9. Facebook、微信团队、Twitter、微软开源软件列表一览
  10. 编程如何入门?写写自己一点感受