05-Docker-部署微服务到Docker

3.2 部署微服务到Docker

3.2.1 安装Docker

Docker可以运行MAC、Windows、Centos、DEBIAN、UBUNTU等操作系统上,提供社区版和企业版,本教程基
于Centos安装Docker。Centos6对docker支持的不好,使用docker建议升级到centos7。

1、在Centos7上安装Docker
直接通过yum安装即可:
yum install -y docker
启动docker:service docker start
查询docker版本:docker version
2、在Centos6上安装Docker
rpm -ivh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install -y docker-io
service docker start

3.2.2 部署流程

本项目微服务采用SpringBoot开发,将每个微服务工程打成Jar包,最终在Docker容器中运行jar,部署流程如下:
1、SpringBoot工程最终打成 Jar包
2、创建Docker镜像
3、创建容器
4、启动容器

3.2.3 打包

1、使用maven的打包插件:
将下边的插件依赖拷贝到微服务工程中,本例子将学成在线的Eureka工程打包:

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐maven‐plugin</artifactId>
</plugin>
</plugins>
</build>

完整的Eureka工程pom.xml文件如下:

<?xml version="1.0" encoding="UTF‐8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema‐instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven‐4.0.0.xsd">
<parent>
<artifactId>xc‐framework‐parent</artifactId>
<groupId>com.xuecheng</groupId>
<version>1.0‐SNAPSHOT</version>
<relativePath>../xc‐framework‐parent/pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>xc‐govern‐center</artifactId>
<dependencies>
<!‐‐ 导入Eureka服务的依赖 ‐‐>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter‐netflix‐eureka‐server</artifactId>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}‐${project.version}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐maven‐plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

05-Docker-部署微服务到Docker
05-Docker-部署微服务到Docker
05-Docker-部署微服务到Docker

测试打包

05-Docker-部署微服务到Docker
报错暂无解决方法

2、maven打包
在工程目录运行:mvn clear package
或通过IDEA执行clear package打包命令。
打包成功,如下图:
05-Docker-部署微服务到Docker

3.2.4 创建镜像

将上一步的jar包拷贝到Linux服务器,准备创建镜像。
测试jar包是否可以运行,执行:java -jar xc-govern-center-1.0-SNAPSHOT.jar
在xc-govern-center-1.0-SNAPSHOT.jar 位置编写Dockerfile文件

FROM java:8
ENV ARTIFACTID xc‐govern‐center
ENV ARTIFACTVERSION 1.0‐SNAPSHOT
ENV HOME_PATH /home
WORKDIR $HOME_PATH
ADD /$ARTIFACTID‐$ARTIFACTVERSION.jar $HOME_PATH/$ARTIFACTID.jar
ENTRYPOINT ["java", "‐jar", "xc‐govern‐center.jar"]

在Dockerfile文件所在目录执行:docker build -t xc-govern-center:1.0-SNAPSHOT .
镜像创建成功,查询镜像:

[root@localhost xc‐govern‐center]# docker images
REPOSITORY TAG IMAGE ID
CREATED SIZE
xc‐govern‐center 1.0‐SNAPSHOT
ad14dcce6666 35 seconds ago 684 MB
上一篇:html-css的运用


下一篇:CSS——图片自适应宽高