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 可看到剛剛構建的鏡像

構建成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章