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

经验分享 程序员 微信小程序 职场和发展