1、在main下级路径创建docker文件夹
2、在docker文件夹下创建Dockerfile文件,用于构建镜像
FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD 项目名称-0.0.1-SNAPSHOT.jar app.jar
ADD Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
EXPOSE 8080
3、在docker文件夹增加Shanghai文件,该文件从linux服务器上拷贝出来,路径为:/usr/share/zoneinfo/Asia/Shanghai
经过以上三个步骤最终文件路径为:
-src
-main
-docker
Dockerfile
Shanghai
4、在pom文件中增加docker插件:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- Docker maven plugin --> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.1.0</version> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <dockerHost>http://192.168.1.10:2375</dockerHost> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> <!-- Docker maven plugin --> </plugins> </build>
5、服务器开启远程访问功能,允许本地上传image到服务器上:
打开/usr/lib/systemd/system/docker.service文件,修改ExecStart这行。
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
#重新加载
systemctl daemon-reload systemctl restart docker.service
#测试是否生效
curl http://127.0.0.1:2375/info
6、执行mvn package docker:build会自动在本地构建image传到192.168.1.10服务器上。