6.Docker服务编排 一.Docker服务编排

1.服务编排概念

6.Docker服务编排
一.Docker服务编排

2.Docker Compose 

(1)概述

6.Docker服务编排
一.Docker服务编排

(2)安装使用

步骤:

  1. 根据自己电脑系统型号在github上下载docker-compose对应文件,我的是centos7下载Linux64位放到/usr/local/bin下并在将其改名为docker-compose

  2. 如果下载不下载需要手动下载和存放:网址: https://github.com/docker/compose/releases/tag/1.14.0-rc2 页面最后有下载

  3. 设置文件可执行权限

  4. 查看是否安装成功也就是查看版本信息

# Compose目前已经完全支持Linux、Mac OS和Windows,在我们安装Compose之前,需要先安装Docker。下面我 们以编译好的二进制包方式安装在Linux系统中。 
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 设置文件可执行权限 
chmod +x /usr/local/bin/docker-compose
# 查看版本信息 
docker-compose -version

3.案例

(1)要求:使用docker compose编排nginx+springboot项目

(2)步骤:

  1. 在root目录下建立docker-compose目录: [root@ustc-wzh ~]# mkdir docker-compose 

  2. 进入docker-compose目录创建docker-compose.yml文件: [root@ustc-wzh docker-compose]# vim docker-compose.yml 

  3. docker-compose.yml文件:

    version: '3'
    services:
      nginx:
       image: nginx
       ports:
        - 80:80
       links:
        - app
       volumes:
        - ./nginx/conf.d:/etc/nginx/conf.d
      app:
        image: springboot-app:1.0
        expose:
          - "8080"
  4. 解释:

    1.  总体上看services里面先让nginx容器启动再让app容器启动

    2. nginx容器使用本地docker镜像nginx的latest版本(不写版本默认就是latest版本)

    3. 设置nginx容器端口80:80,设置nginx反向代理容器app,也就是下面设置的app容器

    4. 设置nginx容器的数据卷为Linux的当前目录下的nginx/conf.d目录与nginx容器的etc下的nginx下的conf.d目录,(我们需要的Linux当前目录为docker-compose目录)

    5. 设置app容器使用本地docker镜像springboot-app:1.0,内部端口为8080

    6. 到时候nginx容器80端口会反向代理app容器8080端口

  5. 在docker-compose目录下建立两级目录nginx/conf.d: [root@ustc-wzh docker-compose]# mkdir -p ./nginx/conf.d 用来存放配置文件

  6. 进入conf.d目录创建springboot_docker-compose.conf: [root@ustc-wzh conf.d]# vim springboot_docker-compose.conf 配置反向代理

  7. springboot_docker-compose.conf:

    server {
        listen 80;
        access_log off;
    
        location / {
            proxy_pass http://app:8080;
        }
       
    }

    解释:nginx容器作为服务器监听80端口,代理app容器的8080端口

  8. 在docker-compose目录下使用docker-compose启动容器: [root@ustc-wzh docker-compose]# docker-compose up ,为什么要在docker-compose目录下呢,这是因为docker-compose.yml文件数据卷的位置绑定为此处目录下的nginx目录下的conf.d目录

  9. 执行成功访问:IP地址:/路由地址 (省略默认端口号80)


    6.Docker服务编排
一.Docker服务编排