一,pom文件:
<properties>中增加 <docker.image.prefix>springboot</docker.image.prefix> (本機測試springboot為隨意取名)
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<docker.image.prefix>springboot</docker.image.prefix>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
加入maven插件“docker-maven-plugin”
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!--加入maven插件“docker-maven-plugin”-->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<!--執行 mvn package 時 自動 執行 mvn docker:build-->
<execution>
<id>build-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<dockerHost> http://192.168.163.129:2375</dockerHost>
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
二,Dockerfile:(ADD行為項目打包生成的jar包)
FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD eurekademo-0.0.1-SNAPSHOT.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" ]
三,在linux服務器上裝好docker,我的linux版本為centos7,這里不建議使用#yum install docker方式安裝,因為這種方式安裝的版本比較舊,而且在配置遠程api時要好多錯誤,建議使用方式
#curl -fsSL https://get.docker.com/ | sh或#yum install docker-engine,這里以17.0.3-ce版本為例,使用
#docker version命令即可驗證是否安裝成功,接下來要想在windows中操作遠程linux中的docker,那前提是必須
開啟docker遠程API,修改docker配置文件#vi /usr/lib/systemd/system/docker.service ,進入編輯模式后,將ExecStart這一行后面加上 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock ,改完后如下所示
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock ,這里就寫4個0,你可別改成自己的ip哦,保存后退出,重新加載配置文件#systemctl daemon-reload ,啟動#systemctl restart docker.service ,
輸入#netstat -anp|grep 2375 顯示docker正在監聽2375端口,輸入#curl 127.0.0.1:2375/info 顯示一大堆信息,證明遠程api就弄好了
iptables放行2375端口 (否則會報連接超時,當初沒有這一步,報錯根本不知道怎么回事,找了好長時間ಠ~ಠ)
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 2375 -j ACCEPT
四,在windows系統環境變量中新建DOCKER_HOST,值為tcp://http://192.168.163.129:2375,(你改成你自己的docker服務器ip地址)
五,最后就是打包並生成鏡像啦。