IDEA中通過docker插件部署springboot項目

docker 相關(guān)部分

windows 系統(tǒng)

安裝/升級Docker客戶端

對于Windows 10專業(yè)版以下的用戶,推薦使用Docker Toolbox

Windows安裝文件:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/

對于Windows 10專業(yè)版以上的用戶 推薦使用Docker for Windows

Windows安裝文件:http://mirrors.aliyun.com/docker-toolbox/windows/docker-for-windows/

配置鏡像加速器

針對安裝了Docker Toolbox的用戶浇衬,您可以參考以下配置步驟:

創(chuàng)建一臺安裝有Docker環(huán)境的Linux虛擬機拯欧,指定機器名稱為default,同時配置Docker加速器地址。

docker-machine create --engine-registry-mirror=https://*****.mirror.aliyuncs.com -d virtualbox default

查看機器的環(huán)境配置,并配置到本地畸写,并通過Docker客戶端訪問Docker服務(wù)。

docker-machine env default
eval "$(docker-machine env default)"
docker info

針對安裝了Docker for Windows的用戶恩闻,您可以參考以下配置步驟:

在系統(tǒng)右下角托盤圖標內(nèi)右鍵菜單選擇 Settings艺糜,打開配置窗口后左側(cè)導航菜單選擇 Docker Daemon剧董。編輯窗口內(nèi)的JSON串幢尚,填寫下方加速器地址:

{
  "registry-mirrors": ["https://*****.mirror.aliyuncs.com"]
}
8.png

編輯完成后點擊 Apply 保存按鈕破停,等待Docker重啟并應用配置的鏡像加速器。注意Docker for WindowsDocker Toolbox互不兼容尉剩,如果同時安裝兩者的話真慢,需要使用hyperv的參數(shù)啟動。

docker-machine create --engine-registry-mirror=https://*****.mirror.aliyuncs.com -d hyperv default

Docker for Windows 有兩種運行模式理茎,一種運行Windows相關(guān)容器黑界,一種運行傳統(tǒng)的Linux容器。同一時間只能選擇一種模式運行皂林。

配置遠程訪問

打開docker的設(shè)置界面朗鸠,找到General,在里面找到Expose daemon on tcp://localhost:2375 without TLS選項,打上勾础倍,即可進行本地或遠程API調(diào)用烛占。

1.png

linux 系統(tǒng)

安裝/升級Docker客戶端

更新apt軟件包索引。

sudo apt-get update

安裝最新版本的Docker CE沟启,或者轉(zhuǎn)到下一步安裝特定版本:

sudo apt-get install docker-ce

配置鏡像加速器

您可以通過修改daemon配置文件/etc/docker/daemon.json來使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json

在文件中加入以下內(nèi)容即可:

{
  "registry-mirrors": ["https://********.mirror.aliyuncs.com"]
}

重新啟動

sudo systemctl daemon-reload
sudo systemctl restart docker

配置遠程訪問

編輯docker服務(wù)配置文件

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

找到如下配置

ExecStart=/usr/bin/dockerd

修改為

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

重啟docker網(wǎng)絡(luò)

sudo systemctl daemon-reload 

重啟docker服務(wù)

sudo systemctl restart docker

測試

curl http://localhost:2375/verion
10.png

鏡像加速地址忆家,可以是阿里云的,這里以阿里云為例:

2.png

IntelliJ IDEA 相關(guān)

配置idea連接docker服務(wù)

安裝idea的docker插件

setting中安裝docker插件

3.png

等待安裝完成重啟idea

配置連接

重啟完成后德迹,我們打開settings可以看到docker

4.png

點擊+芽卿,添加一個連接。

5.png

我們通過tcp的方式連接到linux或者windowsdocker服務(wù)胳搞。信息配置好后卸例,idea會自動檢測。然后會輸出connection successful流酬。

然后再工具欄選擇docker的窗口币厕,點擊運行

6.png

接下來我們在idea上面操作docker

7.png

項目相關(guān)

首先新建一個簡單的springboot項目
在項目的pom.xml文件中加入以下代碼:

<!--復制jar包到指定目錄-->
<plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
        <execution>
            <id>gen-webadmin</id>
            <phase>package</phase>
            <configuration>
                <tasks>
                    <copy todir="docker" file="target/${project.artifactId}-${project.version}.${project.packaging}" />
                </tasks>
            </configuration>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
</plugin>
17.png

在項目根目錄下建立一個docker文件夾,在docker文件夾下新建一個Dockerfile文件芽腾,寫入一下內(nèi)容:

FROM java:8u111

VOLUME /tmp

ADD *.jar app.jar

EXPOSE 80

ENTRYPOINT ["java","-jar","/app.jar"]

# Ubuntu 時區(qū)
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
11.png

然后配置docker啟動項
選擇編輯:

12.png

添加一個啟動項:

13.png

填寫docker相關(guān)的參數(shù):

14.png

在執(zhí)行docker鏡像之前需要把項目進行打包旦装,所以在最下面的操作欄中加入maven打包相關(guān)的命令:

添加一個maven任務(wù):

15.png

添加maven打包命令:

16.png

maven打包分為了幾步:
第一步是清除上次編譯或者打包的文件

18.png

第二步是對項目進行編譯以及打成jar

19.png

第三步則是把打包好的jar文件移動到指定的docker文件夾,這樣我們的docker對制作鏡像時才能找到我們的jar文件摊滔,否則則會在制作過程中報錯阴绢。

20.png

正常情況:

Deploying 'signin Dockerfile: docker/Dockerfile'...
Building image...
Step 1/6 : FROM java:8u111
 ---> d23bdf5b1b1b
Step 2/6 : VOLUME /tmp
 ---> Using cache
 ---> fca4a788f895
Step 3/6 : ADD *.jar app.jar
 ---> a7d47f6bf6ec
Step 4/6 : EXPOSE 80
 ---> Running in 7b57f4915a64
Removing intermediate container 7b57f4915a64
 ---> 8a893ebb3052
Step 5/6 : ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar", "--Dspring.config.location=application.yml"]
 ---> Running in 26ae8f5e5310
Removing intermediate container 26ae8f5e5310
 ---> 28cc02929af7
Step 6/6 : RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
 ---> Running in c0a1b980f7ca
Removing intermediate container c0a1b980f7ca
 ---> 22034793c303
Successfully built 22034793c303
Successfully tagged signin:latest
Creating container...
Container Id: 0cefcdae23b548d1cdc6865b31f4f4c841de3bed1e6667e64b6583be0b00fd22
Container name: 'signin'
Attaching to container 'signin'...
Starting container 'signin'
'signin Dockerfile: docker/Dockerfile' has been deployed successfully.

異常情況:

Deploying 'signin Dockerfile: docker/Dockerfile'...
Building image...
Step 1/6 : FROM java:8u111
 ---> d23bdf5b1b1b
Step 2/6 : VOLUME /tmp
 ---> Using cache
 ---> fca4a788f895
Step 3/6 : ADD *.jar app.jar
Error: ResponseItem.ErrorDetail[code=<null>,message=ADD failed: no source files were specified]
Failed to deploy 'signin Dockerfile: docker/Dockerfile': ADD failed: no source files were specified

docker啟動完成

22.png

我們?nèi)?code>linux上面查看一下:

docker ps -a
23.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市艰躺,隨后出現(xiàn)的幾起案子呻袭,更是在濱河造成了極大的恐慌,老刑警劉巖腺兴,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件左电,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機篓足,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門段誊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人栈拖,你說我怎么就攤上這事连舍。” “怎么了涩哟?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵索赏,是天一觀的道長。 經(jīng)常有香客問我贴彼,道長潜腻,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任器仗,我火速辦了婚禮砾赔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘青灼。我一直安慰自己暴心,他們只是感情好,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布杂拨。 她就那樣靜靜地躺著专普,像睡著了一般。 火紅的嫁衣襯著肌膚如雪弹沽。 梳的紋絲不亂的頭發(fā)上檀夹,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天,我揣著相機與錄音策橘,去河邊找鬼炸渡。 笑死,一個胖子當著我的面吹牛丽已,可吹牛的內(nèi)容都是我干的蚌堵。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼沛婴,長吁一口氣:“原來是場噩夢啊……” “哼吼畏!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起嘁灯,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤泻蚊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后丑婿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體性雄,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡没卸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了秒旋。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片办悟。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖滩褥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情炫加,我是刑警寧澤瑰煎,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站俗孝,受9級特大地震影響酒甸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜赋铝,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一插勤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧革骨,春花似錦农尖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至筑凫,卻和暖如春滑沧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背巍实。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工滓技, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人棚潦。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓令漂,卻偏偏與公主長得像,于是被迫代替她去往敵國和親丸边。 傳聞我的和親對象是個殘疾皇子洗显,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容