1. 程式人生 > >springboot(9)--docker部署springboot應用

springboot(9)--docker部署springboot應用

docker:應用容器引擎,使用者在客戶端可以將應用和應用的執行環境、依賴包等打包成映象,上傳到映象倉庫,然後在伺服器拉取映象並執行。不同映象之間的依賴互不影響,且映象的執行效率很高。

0.拉取jdk8映象

這個待會用作基映象。

docker pull openjdk:8-jdk-alpine

1.開啟Docker服務的遠端訪問許可權

由於我們是從客戶端使用MAVEN外掛將生成的映象直接推送到映象倉庫上,然後要在遠端Docker伺服器上拉取映象,所以要開啟遠端Docker服務的遠端訪問許可權。

i>修改/etc/docker/daemon.json檔案,新增Docker的遠端訪問埠及守護程序

{
  "hosts":["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]
}

ii>重新載入配置檔案,並重啟docker服務

systemctl daemon-reload
systemctl restart docker

iii>測試服務是否開啟

curl 127.0.0.1:2375/info

2.在客戶端建立映象,並上傳到映象倉庫

i>建立專案

目錄結構如圖:

ii>引入Docker打包外掛的依賴

<build>
        <plugins>
            <!-- springboot打包 -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
             
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>0.4.9</version>
                <configuration>
                   <!-- 映象名稱  -->
                   <imageName>lqdev.cn/demo</imageName>
                   <!-- docker遠端伺服器地址 -->
                   <dockerHost>http://伺服器IP:2375</dockerHost>
                   <!-- Dockerfile檔案存放目錄 -->
                   <dockerDirectory>src/main/docker</dockerDirectory>
                   <resources>
                    <resource>
                        <directory>${project.build.directory}</directory>
                        <include>${project.build.finalName}.jar</include>
                    </resource>
                </resources>
                </configuration>
            </plugin>
        </plugins>
    </build>

iii>編寫Dockerfile檔案

#引入基映象
FROM openjdk:8-jdk-alpine

#將資料持久化到指定目錄
VOLUME /opt/tmp

#將應用jar包新增到映象上
ADD chapter-14-0.0.1-SNAPSHOT.jar app.jar

#開啟應用服務埠
EXPOSE 8080

iv>編譯、上傳、在遠端Docker伺服器拉取映象

mvn clean package docker:build -Dmaven.test.skip=true

3.在遠端伺服器檢視映象

docker images

4.在遠端伺服器執行映象

docker run -d -p 8080:8080 lqdev.cn/my-springboot-images

5.測試映象是否執行成功

http:伺服器地址:8080/