Docker Compose 编排微服务

 

  • Docker Compose 简介
  • Docker Compose 安装
  • Docker Compose 快速入门

 

Compose 简介

Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。

Compose 有多种安装方式,例如通过 Shell、pip 以及将 Compose 作为容器安装等。本书讲解通过 Shell 来安装的方式,其他安装方式可详见官方文档:https://docs.docker.com/compose/install/

  • 通过以下命令自动下载并安装适应系统版本的 Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

  

  • 为安装脚本添加执行权限
sudo chmod +x /usr/local/bin/docker-compose

root@ubuntu:/home/tom/Desktop/3/docker2# docker-compose --version
docker-compose version 1.24.0, build 0aa59064

Compose 快速入门

使用 Compose 大致有三个步骤

  • 使用 Dockerfile(或其他方式)定义应用程序环境,以便在任何地方重现该环境。
  • 在 docker-compose.yml 文件中定义组成应用程序的服务,以便各个服务在一个隔离的环境中一起运行。
  • 运行 docker-compose up 命令,启动并运行整个应用程序。

我们通过 Docker 运行了 Eureka Server,不过运行的时候采用了docker run的方式。那我们这次就拿上一节的 Docker 镜像并通过Compose来运行。

在项目根目录添加docker-compose.yml文件
version: '3.1' # 表示该docker-compose.yml文件使用的是Version 3.1 文件格式
services:
  eureka-server: # 指定docker容器名称
    image: spring-cloud-eureka-server:0.0.1-SNAPSHOT #指定镜像名称,这里采用上一步构建出来的镜像。
    ports:
      - 8761:8761 # 指定端口映射,类似docker run的-p选项,注意使用字符串形式

 

root@ubuntu:/home/tom/Desktop/3/docker2/findservice# docker images
REPOSITORY      TAG            IMAGE ID       CREATED          SIZE
eureka-server   latest         cb300504b1c0   2 minutes ago    128MB
<none>          <none>         59fb8f8e3f63   17 minutes ago   128MB
nginx-demo      latest         16e25cfdf65d   3 hours ago      133MB
nginx           latest         35c43ace9216   3 days ago       133MB
hello-world     latest         bf756fb1ae65   13 months ago    13.3kB
openjdk         8-jre-alpine   f7a292bbb70c   21 months ago    84.9MB
root@ubuntu:/home/tom/Desktop/3/docker2/findservice# cat docker-compose.yml 
version: '3.1' # 表示该docker-compose.yml文件使用的是Version 3.1 文件格式
services:
  eureka-server: # 指定docker容器名称
    image: eureka-server:latest #指定镜像名称,这里采用上一步构建出来的镜像。
    ports:
      - 8761:8761 # 指定端口映射,类似docker run的-p选项,注意使用字符串形式
maven 构建项目和 Docker 镜像
mvn clean package -DskipTests && mvn dockerfile:build

 

你也可以通过docker images指令查看是否有一个名称为spring-cloud-eureka-server:0.0.1-SNAPSHOT的镜像存在。
  • compose 运行
docker-compose up
控制台会输出如下信eureka-server_1  

然后访问浏览器http://192.168.154.131:8761/

 

 

 

 没有过多的对 Docker Compose 进行过多的展开说明,需要你们利用自己的时间进行深入了解 Docker Compose 的使用。比如 Compose 的常用指令、Compose 组成、Compose 网络设置等内容。后面的章节也会为大家讲解如何通过 Docker Compose 运行多个服务