人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

最新IDEA快速實(shí)現(xiàn)Docker鏡像部署運(yùn)行的過程詳解

發(fā)布日期:2022-01-20 08:53 | 文章來源:gibhub

背景

使用idea配合docker,實(shí)現(xiàn)從javaweb開發(fā),部署,運(yùn)行全過程。
環(huán)境:已經(jīng)配置好的docker、已經(jīng)安裝好的mysql8容器、一個(gè)springBoot 框架的web項(xiàng)目(內(nèi)含swagger,便于測(cè)時(shí))

開啟Docker的遠(yuǎn)程連接

網(wǎng)上的方法找不到對(duì)應(yīng)的docker.service文件,可能版本或者安裝方式不同。
通過 systemctl status docker 查找docker.service文件位置:

修改/etc/systemd/system/docker.service文件:

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

重啟Docker服務(wù):

systemctl daemon-reload 
systemctl restart docker.service

2375端口開放:

firewall-cmd --zone=public --add-port=2375/tcp --permanent
firewall-cmd --reload

重啟后,驗(yàn)證下2375端口是否是通的:
http://192.168.137.188:2375/info

注:這個(gè)就表示成功了。

idea docker插件配置

idea 2019 3 版已經(jīng)集成docker,未集成的請(qǐng)自行安裝。

注:docker— 點(diǎn)擊“+”后,填入連接名稱和linux主機(jī)ip:docker對(duì)外端口

idea連接docker,熟悉相關(guān)界面可用操作:

注:集成了包括容器,鏡像基本的常用命令,具體使用可自己研究,沒啥難度。

springboot應(yīng)用中加入dockerfile

注:與pom文件同級(jí)目錄,文件內(nèi)容如下:

FROM openjdk:8u212-jre
MAINTAINER aliyu<2557170552@qq.com>
COPY target/myframe-0.0.1-SNAPSHOT.jar /myframe-0.0.1-SNAPSHOT.jar
ENTRYPOINT ["java", "-jar", "/myframe-0.0.1-SNAPSHOT.jar"]

添加docker 運(yùn)行配置

注:1、右鍵“edit configuration”
2、點(diǎn)擊“+”,選擇docker
3、選擇前面定義的docker連接
4、dockerfile的名稱
5、dockerfile的目錄位置
6、項(xiàng)目鏡像及版本定義
7、run build image 打勾,并命名容器名稱,這樣可以在創(chuàng)建鏡像的后創(chuàng)建容器并運(yùn)行。
8、配置宿主機(jī)與容器的端口映射
9、配置容器固定ip,以避免隨機(jī)ip導(dǎo)致的類似項(xiàng)目運(yùn)行找不到服務(wù)的問題。固定ip配置請(qǐng)參考:http://blog.java1234.com/blog/articles/628.html
ps:mysql8容器已經(jīng)配置好默認(rèn)ip會(huì)和這里的ip為同一網(wǎng)段。
10、此處可以預(yù)覽命令,方便檢查錯(cuò)誤。
11、配置運(yùn)行docker run 之前需要重新編譯打包項(xiàng)目:

clean package -U -DskipTest -P test

注:因?yàn)殚_發(fā)時(shí)是主機(jī)訪問linux內(nèi)的mysql容器,而應(yīng)用生成為容器運(yùn)行時(shí)時(shí)應(yīng)用容器訪問mysql容器。yml中mysql配置不一致,所以為docker 部署專門使用test yml配置文件。ps:容器間互相訪問,請(qǐng)查看“其他-容器間通信”標(biāo)題
創(chuàng)建好后,可以看到:

注:多了一個(gè)dockerFile 啟動(dòng)

運(yùn)行docker 啟動(dòng)配置

點(diǎn)擊:

注:可以完整的看到maven clean 打包的過程,以及docker 構(gòu)建鏡像,創(chuàng)建并啟動(dòng)容器的過程。甚至可以看到容器啟動(dòng)項(xiàng)目的日志

測(cè)試訪問swagger主頁:

其他

容器之間通信

背景:因?yàn)椴幻靼兹萜髦g如何通信,導(dǎo)致配置mysql連接時(shí),url一直不對(duì),一直報(bào)數(shù)據(jù)庫連接問題。

宿主機(jī)ip加映射端口可以訪問mysql8容器:
url: jdbc:mysql://192.168.137.188:3307/db_myframe?serverTimezone=GMT

但是myframe 容器內(nèi) 通過 宿主機(jī)ip加映射端口 訪問失敗
因?yàn)槿萜骱腿萜髦g的通信不一樣

不能通過localhost:3306 訪問,docker容器中的localhost并不是指宿主機(jī)的localhost。

docker在運(yùn)行時(shí)建立了虛擬網(wǎng)卡,并命名為docker0
通過 docker inspect mysql8 找到ip地址 172.17.0.2 ,但是注意容器訪問容器,端口需要用容器內(nèi)的端口,而不是映射到宿主機(jī)的3307。

到此這篇關(guān)于最新IDEA快速實(shí)現(xiàn)Docker鏡像部署運(yùn)行的文章就介紹到這了,更多相關(guān)IDEA Docker鏡像部署運(yùn)行內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部