docker build 构建镜像到docker容器
1.前提条件:有docker容器运行,并且开启了远程访问
2.配置pom.xml
<!--构建镜像-->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<!--Maven 的配置文件 setting.xml 中增加相关 server 配置,主要配置 Docker registry用户认-->
<serverId>docker-repostory</serverId>
<dockerHost>http://192.168.52.206:2375</dockerHost>
<imageName>${project.artifactId}</imageName>
<dockerDirectory>${project.build.outputDirectory}</dockerDirectory>
<resources>
<resource>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
3.配置Dockerfile
FROM java:8 MAINTAINER "Liu Guang Hu"<lghwuwangchuxin@163.com> ADD register-center.jar register-center.jar EXPOSE 8082 CMD java -jar register-center.jar 4.运行步骤
5.结果
"C:Program FilesJavajdk1.8.0_131injava.exe" -Dmaven.multiModuleProjectDirectory=E:Myworkcloud-service egister-center -Dmaven.home=E:mavenapache-maven-3.3.9 -Dclassworlds.conf=E:mavenapache-maven-3.3.9inm2.conf -javaagent:D:SoftwareInstallideaIU-2018.3.3.winlibidea_rt.jar=61607:D:SoftwareInstallideaIU-2018.3.3.winin -Dfile.encoding=UTF-8 -classpath E:mavenapache-maven-3.3.9ootplexus-classworlds-2.5.2.jar org.codehaus.classworlds.Launcher -Didea.version=2018.3.3 -s E:mavenapache-maven-3.3.9confmywork.xml com.spotify:docker-maven-plugin:1.0.0:build [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building register-center 2.0 [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- docker-maven-plugin:1.0.0:build (default-cli) @ register-center --- [INFO] Using authentication suppliers: [ConfigFileRegistryAuthSupplier, NoOpRegistryAuthSupplier] [INFO] Copying E:Myworkcloud-service egister-center arget egister-center.jar -> E:Myworkcloud-service egister-center argetdocker egister-center.jar [INFO] Copying E:Myworkcloud-service egister-center argetclassesootstrap.yml -> E:Myworkcloud-service egister-center argetdockerootstrap.yml [INFO] Copying E:Myworkcloud-service egister-center argetclassescomcloud egisterRegisterCenterApplication.class -> E:Myworkcloud-service egister-center argetdockercomcloud egisterRegisterCenterApplication.class [INFO] Copying E:Myworkcloud-service egister-center argetclassesDockerfile -> E:Myworkcloud-service egister-center argetdockerDockerfile [INFO] Building image register-center Step 1/5 : FROM java:8
---> d23bdf5b1b1b Step 2/5 : MAINTAINER "Liu Guang Hu"<lghwuwangchuxin@163.com>
---> Using cache ---> 422beeee27f5 Step 3/5 : ADD register-center.jar register-center.jar
---> Using cache ---> b7ee401b27d8 Step 4/5 : EXPOSE 8082
---> Using cache ---> 319e725e5bd3 Step 5/5 : CMD java -jar register-center.jar
---> Using cache ---> 0b6423684124 ProgressMessage{id=null, status=null, stream=null, error=null, progress=null, progressDetail=null} Successfully built 0b6423684124 Successfully tagged register-center:latest [INFO] Built register-center [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 55.857 s [INFO] Finished at: 2019-04-26T13:02:51+08:00 [INFO] Final Memory: 27M/185M [INFO] ------------------------------------------------------------------------
Process finished with exit code 0
6.查看镜像
7.启动Spring Boot的Docker 容器
通过以下命令运行所构建的镜像,在后台运行容器,并将容器的8761端口绑定到宿主机的8761端口上
docker run -d -p 8761:8761 127.0.0.1:5000/register-center
输入http://localhost:8761
