IntelliJ_IDEA部署SpringBoot項目到Docker容器

一、安裝Docker

Docker的安裝請參考 https://blog.csdn.net/kevinyankai/article/details/80227364,具體步驟這裏就略過

我的系統是CentOS 7,安裝了寶塔7.0.2。

  • Docker版本

  • 查看下Docker的宿主機IP地址

  •  開啓Docker的遠程訪問

執行如下命令:

sudo vi /lib/systemd/system/docker.service

修改以ExecStart開頭的內容如下圖紅框內所示 

這裏我將端口號設置爲2375。然後重啓docker服務 :

systemctl daemon-reload
service docker restart

在寶塔安全設置中開啓2375端口

然後測試是否可以連接到docker api

如果是在CentOS 7下遠程連接有問題,可以嘗試如下配置:

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

 二、IntelliJ IDEA中安裝Docker integration插件

我的IDEA版本爲2019.2

  • 安裝插件

在IDEA中打開File -> Settings...菜單,在插件市場中搜索Docker插件,並安裝

  •  配置連接Docker服務端

其中Engine API URL處的地址爲Docker服務端的IP地址,也就是前面執行ifconfig時顯示的IP地址。

連接成功,如下所示

三、項目配置

  •  創建Dockerfile

在項目的bin目錄下創建docker目錄,並創建Dockerfile文件,內容如下:

FROM frolvlad/alpine-java:jdk8-slim
#FROM frolvlad/alpine-oraclejdk8-slim
MAINTAINER [email protected]
ENV TZ "Asia/Shanghai"
ENV LANG C.UTF-8
VOLUME /tmp

WORKDIR /app
ADD target/web.war .
RUN jar -xvf web.war
# RUN chmod -R 755 ./*

ADD bin/docker/application-prod.yml ./classes/config

ENV JAVA_OPTS "-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m"
ENV JAVA_OPTS "$JAVA_OPTS -Dspring.profiles.active=prod"

ENTRYPOINT java -cp /app $JAVA_OPTS org.springframework.boot.loader.WarLauncher

EXPOSE 8980

在項目bin目錄下創建applicatoin-prod.yml SpringBoot項目配置文件,具體內容根據項目不同自行設置,如配置實際的數據庫地址等。

  • 創建運行/調試的配置項

 

具體配置內容如下:

         Server:  選擇前面配置的Docker服務端連接

         Dockerfile: Dockerfile文件所在位置

         Context folder:  執行Dockerfile文件時的上下文環境。這個路徑一定要注意,寫錯了會導致執行Dockerfile錯誤,比如會找不到要拷貝的文件等

         Image tag:  發佈到服務端後鏡像的標籤,可隨便填寫

         Container name: 發佈後運行時docker容器的名字

         Bind ports: 運行時綁定的端口號

四、發佈並運行項目

  • 編譯項目

Build項目,在target目錄下生成web.war包

  • 連接docker服務端

前面的docker服務器配置成功後,在service視圖中即可看到服務端列表,選擇要啓動的docker服務端,點擊綠色箭頭啓動

啓動成功後即可看見服務端的所有鏡像和容器

  • 執行Dockerfile,發佈並運行項目

執行Docker啓動/調試配置項,開始執行Dockerfile,創建鏡像,容器並運行容器

啓動成功後如下圖所示:

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