SpringBoot Docker 發布


pom 文件 

    <groupId>com.vipsoft.boot</groupId>
    <artifactId>vipsoft-web-boot</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>


 <!-- 統一管理 jar 包版本 -->
    <properties>
        <boot.version>2.2.8.RELEASE</boot.version>
        <java.version>1.8</java.version>
        <docker.image.prefix>vipsoft</docker.image.prefix>
    </properties>


 <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.2.0</version>
                <configuration>
                    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                    <dockerDirectory>src/main/docker</dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
            <!-- Docker maven plugin -->
        </plugins>
    </build>

 

編輯 Dockerfile 文件 

# Docker image for SpringBoot file run
# VERSION 0.0.1
# Author: eangulee
# 基礎鏡像使用java
FROM java:8
# 作者
MAINTAINER Jimmy <Jimmy.Chen@vipsoft.com.cn>
# VOLUME 指定了臨時文件目錄為/tmp。
# 其效果是在主機 /var/lib/docker 目錄下創建了一個臨時文件,並鏈接到容器的/tmp
VOLUME /tmp
# 將jar包添加到容器中並更名為app.jar
ADD vipsoft-web-boot-1.0.jar  app.jar # 運行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

 

 

 

2.將編譯好的jar包和 dockerfile 傳到服務器上,我這邊用的目錄為 /opt/vipsoft

#sftp > put 本地文件路徑  遠程服務器路徑
sftp> put /Users/jimmy/Projects/VipBoot/VipSoft-Web-Boot/src/main/docker/Dockerfile /opt/vipsoft

sftp> put /Users/jimmy/Projects/VipBoot/VipSoft-Web-Boot/target/vipsoft-web-boot-1.0.jar /opt/vipsoft

 

 

 

 

 

 

 

編譯docker 文件

[root@centos-linux vipsoft]# docker build -t vipsoft .

  

 

#運行 docker 
[root@centos-linux vipsoft]# docker run --name vipsoft8081 -d -p 8081:8080 vipsoft

--name 容器名稱,后面停止、啟動、刪除,都可以直接用這個名字
-d 參數是讓容器后台運行 
-p 是做端口映射,此時將服務器中的8080端口(對外訪問端口)映射到容器中的8080端口(項目設置端口)

 

 

訪問測試

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM