环境说明: 在windows idea创建了spring cloud (eureka-service)工程,另外本机安装了虚拟机,虚拟机安装了docker服务。

目标是: 将springcloud工程通过使用maven-docker插件,打包部署到虚拟机的docker容器中,并在容器中运行。

 

步骤一:在eureka-service的pom文件中引入docker-maven-plugin 依赖(下载依赖略慢)。

<plugin>
     <groupId>com.spotify</groupId>
     <artifactId>docker-maven-plugin</artifactId>
     <version>0.4.3</version>
      <configuration>
          <dockerHost>http://192.168.239.130:2375</dockerHost>
                            
                  
 <imageName>${docker.image.prefix}/${project.artifactId}:${project.version}</imageName>
            <dockerDirectory>src/main/docker</dockerDirectory>
              <resources>
                 <resource>
                    <targetPath>/</targetPath>
                    <directory>${project.build.directory}</directory>
                     <include>${project.build.finalName}.jar</include>
                  </resource>
              </resources>
      </configuration>
 </plugin>

步骤二:在工程中添加Dockerfile文件,在src/main下创建docker文件夹,在docker文件夹中创建Dockerfile文件。

FROM hub.c.163.com/housan993/centos7_jdk8:8.0
VOLUME /tmp
ADD eureka-service.jar app.jar
EXPOSE 8761
ENTRYPOINT ["java","-jar","/app.jar"]

说明: 因为运行jar文件需要依赖java环境,所以第一步是到网易镜像中心下载jdk8.

第三步:在命令行通过mvn指令进行编译和部署:mvn package docker:build, 成功后如下图所示:

第四步:在docker容器中查看刚才打包的镜像

第五步:运行eureka-service镜像

使用命令(最后一串字符是镜像id): 

docker run -d --name enruka-service -p 8761:8761 20c329218221

第六步:打开eureka管理界面(注意开启防火墙端口)

 

关于如何将本地镜像推到阿里云的远程镜像仓库,请看下一章节。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐