介绍
使用Maven插件怎么构建一个码头工人镜像?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
<强>使用插件构建码头工人镜像强>
<强>简单使用强>
我们以之前的项目:microservice-discovery-eureka为例:
在pom。xml中添加下面这段
, & lt; build> & lt;才能plugins> ,,& lt; !——,码头工人的maven插件,官网:https://github.com/spotify/docker-maven-plugin ——比; ,,& lt; plugin> ,,,& lt; groupId> com.spotify ,,,& lt; artifactId> docker-maven-plugin ,,,& lt; version> 0.4.12 ,,,& lt; configuration> ,,,,& lt; !——,注意imageName一定要是符合正则[a-z0-9 _)的,否则构建不会成功,——比; ,,,,& lt; !——,详见:https://github.com/spotify/docker-maven-plugin Invalid repository name ……, only [a-z0-9 _),断开连接,允许——比; ,,,,& lt; imageName> microservice-discovery-eureka ,,,,& lt; baseImage> java ,,,,& lt; entryPoint> [“java",,“-jar",,“/$ {project.build.finalName} .jar"] & lt;/entryPoint> ,,,,& lt; resources> ,,,,,& lt; resource> ,,,,,,& lt; targetPath>/& lt;/targetPath> ,,,,,,& lt; directory> $ {project.build.directory} & lt;/directory> ,,,,,,& lt; include> $ {project.build.finalName} .jar ,,,,,& lt;/resource> ,,,,& lt;/resources> ,,,& lt;/configuration> ,,& lt;/plugin> & lt;才能/plugins> ,& lt;/build>
执行命令:
mvn clean package 码头工人:构建
我们会发现控制台有类似如下内容:
[信息],Building image microservice-discovery-eureka Step 1,:得到java Pulling 得到图书馆/java 文摘:sha256:581a4afcbbedd8fdf194d597cb5106c1f91463024fb3a49a2d9f025165eb675f 状态:,Downloaded newer  image for java:最新 ,——→ea40c858f006 Step 2,: ADD /microservice-discovery-eureka-0.0.1-SNAPSHOT.jar //,——→d1c174083bca Removing intermediate  container 91913 d847c20 Step 3,:, ENTRYPOINT java -jar /microservice-discovery-eureka-0.0.1-SNAPSHOT.jar ,——→Running 0 f2aeccdfd46拷贝 ,——→d57b027ca65a f2aeccdfd46 Removing intermediate  container 0 Successfully built  d57b027ca65a [信息],Built microservice-discovery-eureka (信息),- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [信息],BUILD 成功 (信息),- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [信息],Total 时间:01:38 最小 [信息],Finished 在:,2016 - 09 - 18 - t01:05:05 07:00 [信息],Final 记忆:,40 m/198 m
恭喜,构建成功了。
我们执行码头工人的图片会发现该镜像已经被构建成功:
REPOSITORY ,,,,, TAG ,,,, IMAGE ID ,, CREATED ,,大小 microservice-discovery-eureka latest ,,, d57b027ca65a , About a minute ago 681.5, MB
启动镜像
docker run -p 8761:8761 microservice-discovery-eureka
我们会发现该码头工人镜像会很快地启动。
访问测试
访问http://Docker宿主机IP: 8761年,能够正常看到尤里卡界面。
<强>使用Dockerfile进行构建强>
上文讲述的方式是最简单的方式,很多时候,我们还是要借助Dockerfile进行构建的,首先我们在microservice-discovery-eureka/src/main/码头工人目录下,建立文件Dockerfile
得到java: 8 VOLUME /tmp ADD microservice-discovery-eureka-0.0.1-SNAPSHOT.jar  app.jar RUN bash  -c & # 39; touch /app.jar& # 39; EXPOSE 9000 (“java" ENTRYPOINT ,“-Djava.security.egd=文件:/dev/?urandom",“-jar",“/app.jar"]
修改砰的一声。xml
& lt; build> & lt;才能plugins> ,,& lt; !——,码头工人的maven插件,官网:https://github.com/spotify/docker-maven-plugin ——比; ,,& lt; plugin> ,,,& lt; groupId> com.spotify ,,,& lt; artifactId> docker-maven-plugin使用Maven插件怎么构建一个码头工人镜像