SpringBoot部署項目到Docker倉庫

SpringBoot部署項目到Docker倉庫

1.開啟遠程控制端口

  • Centos7開啟方式:

    vim /lib/systemd/system/docker.service
    找到ExecStart

    ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock  
    
    
  • 重啟docker

        啟動 systemctl start docker
        守護進程重啟  sudo systemctl daemon-reload
        重啟docker服務(wù)  systemctl restart docker
        重啟docker服務(wù)  sudo service docker restart
        關(guān)閉docker   service docker stop   
        關(guān)閉docker  systemctl stop docker
    

2.創(chuàng)建springboot項目

  • 利用IDEA快速創(chuàng)建springboot項目:


  • 添加測試Controller

3.配置項目構(gòu)建信息

  • pom.xml文件中配置如下:
    <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.0.0</version>
                <configuration>
                    <!-- docker私服的地址 -->
                    <dockerHost>http://192.168.101.205:2375</dockerHost>
                    <!--鏡像名稱以及版本號-->
                    <imageName>spring-boot-docker:1.1.1</imageName>
                    <!--依賴的基礎(chǔ)鏡像-->
                    <baseImage>java</baseImage>
                    <!--Dockerfile的位置 -->
                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
                    <!-- 這里是復制 jar 包到 docker 容器指定目錄配置 -->
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
            <!-- Docker maven plugin -->
        </plugins>
    </build>

說明:

  • <dockerHost>http://192.168.101.205:2375</dockerHost> 就是docker服務(wù)器地址
  • <imageName>spring-boot-docker:1.1.1</imageName> 構(gòu)建后的docker image的name與tag
  • <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory> 指定Dockerfile文件位置

4.編輯Dockerfile

FROM java:8
MAINTAINER haopeng 18802953162@163.com
VOLUME /home/haopeng
ADD docker_base-0.0.1-SNAPSHOT.jar demo.jar
RUN bash -c 'touch /app.jar'
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
  • 另外項目端口需要改為8080
  • 對Dockerfile里面的內(nèi)容做一個簡單的介紹:
 1.FROM:指明當前鏡像繼承的基鏡像,編譯當前鏡像時候會自動下載基鏡像
 2.MAINTAINER:當前鏡像的作者和郵箱,使用空格隔開
 3.VOLUME:掛載目錄
 4.ADD:從當前工作目錄復制文件到鏡像目錄中并重新命名
 5.RUN:在當前鏡像上執(zhí)行Linux命令,這里我執(zhí)行了2個run指令
 6.EXPOSE:監(jiān)聽的端口號
 7.ENTRYPOINT:讓容器像一個可執(zhí)行程序一樣運行

5.構(gòu)建Docker鏡像

  • 執(zhí)行 mvn clean package -DskipTests docker:build

  • 控制臺出現(xiàn) BUILD SUCCESS 標識構(gòu)建成功

6.運行docker鏡像

  • 連接到docker服務(wù)器docker images可以看到剛剛構(gòu)建的鏡像
  • 執(zhí)行 docker run -d -p 8080:8080 --name docker-app spring-boot-docker:1.1.1
  • 返回容器id表示運行成功
  • 打開瀏覽器輸入宿主機+端口訪問項目


示例demo地址:https://gitee.com/hawawa/docker_base.git

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • docker是一個能夠把開發(fā)的應(yīng)用程序自動部署到容器的開源引擎 docker依賴于寫時復制模型 docker客戶端...
    Broom閱讀 1,842評論 0 0
  • 一、centOS7下安裝docker 1、搜索docker yum search docker 2、安裝docke...
    平面小獅子閱讀 1,331評論 0 1
  • 第一本Docker書 自動精簡配置: thin-provisioning加載device-mapper模塊sudo...
    崩芭大醬閱讀 2,271評論 0 16
  • 只有在這一刻,考場上的這一刻,在看到別人在拼命作答自己一片茫然的這一刻,才感到特別羞愧,才感到錯過了大好時光,才暗...
    釋然_bc70閱讀 422評論 0 1
  • 我理解不了很多人的人生,就像有人到死也沒嘗過敵敵畏的味道。 有人說我又不是腦殘,喝了敵敵畏那不就死了嗎?什么味道也...
    史叁閱讀 731評論 0 7

友情鏈接更多精彩內(nèi)容