Docker入门(三)服务编排

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: nginx
    ports:
      - 80:80
    links:
      - app
    volumes:
      - ./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,后端,分布式,docker)