## 采用docker方式打包到服务器 **1.在pom.xml文件 加入 对应的插件 (ps: docker.image.prefix 是指仓库名称,建议使用dockerhub的名称,否则无法进行提交push到自己的仓库 owenwangwen)** ``` <properties>  <docker.image.prefix>owenwangwen</docker.image.prefix> </properties> ​ <plugin>  <groupId>com.spotify</groupId>  <artifactId>docker-maven-plugin</artifactId>  <version>0.4.13</version>  <configuration>    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>    <dockerDirectory>src/main/docker</dockerDirectory>    <!-- docker远程服务器地址 --> <dockerHost>http://xx.xx.xx.xx:5555</dockerHost>    <resources>      <resource>        <targetPath>/</targetPath>        <directory>${project.build.directory}</directory>        <include>${project.build.finalName}.jar</include>      </resource>    </resources>  </configuration> </plugin> ``` 采用docker方式打包到服务器 **2.在各模块的src/main下面新建docker包 , 在src/main/docker下面新建Dockerfile** ![](https://box.kancloud.cn/4a59da48767c797b465de2da0b92bd38_1714x559.png) Dockerfile 文件 ``` FROM openjdk:8-jdk-alpine VOLUME /tmp ADD user-center.jar app.jar RUN sh -c 'touch /app.jar' ENV JAVA_OPTS="" ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ] ``` 注:需要注意的是 (app.jar 是指该工程打包的jar) 解释: FROM 指向需要创建的容器名称 openjdk:8-jdk-alpine (除了注释之外,必须是第一行写,否则报错) tag 不写默认取latest,可以认为是版本号 ADD (向容器中添加文件,主机文件,网络文件,文件夹) VOLUME (指定挂载点,主机其他容器) RUN (用于修改镜像命令,常用安装库,程序以及配置程序) ENV (设置容器的环境变量) CMD (启动容器默认命令) ENTRYPOINT (与CMD类似,与CMD配合使用) 项目打包成镜像 ![](https://box.kancloud.cn/ca3a59d7e5425d84335f3354b2bef51c_1609x813.png) ## 样例 * 配置docker主机地址 ![](https://img.kancloud.cn/0d/e5/0de53b3544bec70f20a2f2be1b043161_1725x560.png) * docker:build形成镜像上传docker主机 ![](https://img.kancloud.cn/fc/3e/fc3efcfa01c6e2a837c0662cf2869489_1304x606.png) * docker:build形成镜像过程 ![](https://img.kancloud.cn/b3/4c/b34cc12f3cc99b32dbe4db6df8426ff9_1325x489.png) * 登录主机查看镜像 ![](https://img.kancloud.cn/01/58/01580d8a7dc457bd111d9e424397638f_988x213.png) * docker login ![](https://img.kancloud.cn/bc/44/bc445a75141bfffdb80eb59c913653d8_1533x99.png) * 上传hub.docker ``` [root@localhost ~]# docker push owenwangwen/eureka-server ```