SpringBoot 应用 打包为 Docker 镜像,并设置时区同步

1、pom文件增加docker插件

<properties>
        <java.version>1.8</java.version>
        <docker.plugin.version>1.1.1</docker.plugin.version>
        <docker.image.prefix>qinxq</docker.image.prefix>
</properties>
<build>
        <finalName>${project.artifactId}</finalName>
        <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>${docker.plugin.version}</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <imageName>${docker.image.prefix}/${project.artifactId}:${project.version}</imageName>
                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
                    <skipDockerBuild>false</skipDockerBuild>
                    <dockerHost>http://192.168.1.10:2376</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>

docker.image.prefix :docker镜像前缀

dockerHost : 已安装docker的机器ip地址(本次环境为linux虚拟机地址),如本机已安装可去除dockerHost

dockerDirectory : Dockerfile文件的在项目中的位置

2、编写 Dockerfile 文件

FROM openjdk:8-jdk-alpine
MAINTAINER qinxq [email protected]

ADD ./single.jar /app/
ENTRYPOINT ["java","-Xmx512m","-Duser.timezone=GMT+8","-Djava.security.egd=file:/dev/./urandom","-jar","/app/single.jar"]

FROM openjdk:8-jdk-alpine : JDK环境基础镜像

MAINTAINER : 修改人信息 [name] [email]

ADD : 添加 springboot 的 jar 包

ENTRYPOINT:相关执行参数

-Duser.timezone=GMT+8 :设置时区同步

3、 构建生成镜像

mvn clean package 

ps: install 、 deploy 也可以

#如下图所示,没有异常,在docker机器中执行 docker images 可看到刚刚构建的镜像

构建成功

发布了48 篇原创文章 · 获赞 34 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/u014481096/article/details/102544573