使用Docker编排SpringCould服务--自整理

使用Docker编排SpringCould服务–自整理

实现环境:CentOS7.2 docker1.13.1 docker-compose1.23.1 SpringBoot1.5.16 jdk1.8 maven3.5.4
SpringCould服务构建过程省略,从Docker安装开始。

一、Docker安装
Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此想要安装 docker,只需要运行下面的 yum 命令:

yum install docker

安装完成后,使用下面的命令来启动 docker 服务,并将其设置为开机启动:

service docker start
chkconfig docker on

LCTT 译注:此处采用了旧式的 sysv 语法,如采用CentOS 7中支持的新式 systemd 语法,如下:

systemctl start docker.service
systemctl enable docker.service

测试
docker version

输入上述命令,返回docker的版本相关信息,证明docker安装成功。

Docker 中国官方镜像加速可通过registry.docker-cn.com修改系统中docker对应的配置文件即可,如下:
vi /etc/docker/daemon.json
#添加后

{
    "registry-mirrors": ["https://registry.docker-cn.com"],
    "live-restore": true
}

HelloWorld
运行下面的命令,将 image 文件从仓库抓取到本地。

docker pull library/hello-world

抓取成功以后,就可以在本机看到这个 image 文件了。

docker images

#显示结果
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/hello-world latest f2a91732366c 3 months ago 1.848 kB

现在,运行这个 image 文件。

docker run hello-world

#显示结果
Hello from Docker!
This message shows that your installation appears to be working correctly.

输出这段提示以后,hello world就会停止运行,容器自动终止。有些容器不会自动终止,因为提供的是服务,比如Mysql镜像等。

二、Docker Compose 安装
方法一:
#下载

sudo curl -L https://github.com/docker/compose/releases/download/1.20.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

#安装

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

#查看版本

docker-compose version

方法二:
#安装pip

yum -y install epel-release
yum -y install python-pip

#确认版本

pip --version

#更新pip

pip install --upgrade pip

#安装docker-compose

pip install docker-compose 

#查看版本

docker-compose version

推荐使用方法一进行安装,安装成功后输入docker-compose version会返回 docker-compose 的版本信息,如下:

[root@localhost ~]# docker-compose version
docker-compose version 1.19.0, build 9e633ef
docker-py version: 2.7.0
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t  3 May 2016

出现以上信息,表明 docker-compose 安装成功
安装补全工具(可选)
为了方便我们输入命令,也可以安装 Docker 的补全提示工具帮忙我们快速输入命令
#安装

yum install bash-completion

#下载docker-compose脚本

curl -L https://raw.githubusercontent.com/docker/compose/$(docker-compose version --short)/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose

三、SpringBoot pom.xml配置
在pom.xml文件中添加:

com.spotify docker-maven-plugin 0.4.13 tsc/${project.artifactId}:${project.version} true java ["java","-jar","/${project.build.finalName}.jar"] / ${project.build.directory} ${project.build.finalName}.jar build-image package build

四、创建镜像
将springboot项目目录copy到linux服务器上,然后在各自服务根目录下执行mvn package打包并自动生成镜像,打完包差不多是这样子的,生产环境应该有个叫jenkins的去监听svn,自动打包生成镜像
在这里插入图片描述

五、创建并运行
在项目同级目录创建docker-compose.yml文件,添加以下内容,(Eureka做了Ha)

#表示该docker-compose.yml文件使用的是Version2 file format
version: '2'
#Version 2 file format的固定写法,为project定义服务
services:
  #discovery服务
  peer1:
    #镜像名称
    image: tsc/t-discovery:0.0.1-SNAPSHOT
    #连接到ha的peer2
    ports:
      - "8761:8761"
    environment:
      - spring.profiles.active=peer1
  #discovery-ha服务
  peer2:
    #主机名
    image: tsc/t-discovery-ha:0.0.1-SNAPSHOT
    hostname: peer2
    ports:
      - "8762:8762"
    environment:
      - spring.profiles.active=peer2
  #用户服务 
  t-user:
    image: tsc/t-user:0.0.1-SNAPSHOT
  #通用服务
  t-common:
    image: tsc/t-common:0.0.1-SNAPSHOT
  #网关服务
  t-gateway:
    image: tsc/t-gateway:0.0.1-SNAPSHOT

完成后,执行命令,两个discovery服务各启一个,user和common服务各启两个

docker-compose scale peer1=1 peer2=1 t-user=2 t-common=2 t-gateway=1

启动成功后,Eureka管理界面如下:
使用Docker编排SpringCould服务--自整理_第1张图片

你可能感兴趣的:(Java,Docker,docker-compose,SpringBoot)