一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - 最新IDEA快速實現Docker鏡像部署運行的過程詳解

最新IDEA快速實現Docker鏡像部署運行的過程詳解

2021-05-10 17:29mofsfely2 服務器知識

這篇文章主要介紹了最新IDEA快速實現Docker鏡像部署運行的過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

背景

使用idea配合docker,實現從javaweb開發,部署,運行全過程。
環境:已經配置好的docker、已經安裝好的mysql8容器、一個springBoot 框架的web項目(內含swagger,便于測時)

開啟Docker的遠程連接

網上的方法找不到對應的docker.service文件,可能版本或者安裝方式不同。
通過 systemctl status docker 查找docker.service文件位置:

最新IDEA快速實現Docker鏡像部署運行的過程詳解

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

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

重啟Docker服務:

?
1
2
systemctl daemon-reload
systemctl restart docker.service

2375端口開放:

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

重啟后,驗證下2375端口是否是通的:
http://192.168.137.188:2375/info

最新IDEA快速實現Docker鏡像部署運行的過程詳解

注:這個就表示成功了。

idea docker插件配置

idea 2019 3 版已經集成docker,未集成的請自行安裝。

最新IDEA快速實現Docker鏡像部署運行的過程詳解

注:docker— 點擊“+”后,填入連接名稱和linux主機ip:docker對外端口

idea連接docker,熟悉相關界面可用操作:

最新IDEA快速實現Docker鏡像部署運行的過程詳解

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

springboot應用中加入dockerfile

最新IDEA快速實現Docker鏡像部署運行的過程詳解

注:與pom文件同級目錄,文件內容如下:

?
1
2
3
4
5
FROM openjdk:8u212-jre
MAINTAINER aliyu<[email protected]>
 
COPY target/myframe-0.0.1-SNAPSHOT.jar /myframe-0.0.1-SNAPSHOT.jar
ENTRYPOINT ["java", "-jar", "/myframe-0.0.1-SNAPSHOT.jar"]

添加docker 運行配置

最新IDEA快速實現Docker鏡像部署運行的過程詳解

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

?
1
clean package -U -DskipTest -P test

注:因為開發時是主機訪問linux內的mysql容器,而應用生成為容器運行時時應用容器訪問mysql容器。yml中mysql配置不一致,所以為docker 部署專門使用test yml配置文件。ps:容器間互相訪問,請查看“其他-容器間通信”標題
創建好后,可以看到:

最新IDEA快速實現Docker鏡像部署運行的過程詳解

注:多了一個dockerFile 啟動

運行docker 啟動配置

點擊:

最新IDEA快速實現Docker鏡像部署運行的過程詳解

注:可以完整的看到maven clean 打包的過程,以及docker 構建鏡像,創建并啟動容器的過程。甚至可以看到容器啟動項目的日志

測試訪問swagger主頁:

最新IDEA快速實現Docker鏡像部署運行的過程詳解

其他

容器之間通信

背景:因為不明白容器之間如何通信,導致配置mysql連接時,url一直不對,一直報數據庫連接問題。

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

但是myframe 容器內 通過 宿主機ip加映射端口 訪問失敗
因為容器和容器之間的通信不一樣

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

docker在運行時建立了虛擬網卡,并命名為docker0
通過 docker inspect mysql8 找到ip地址 172.17.0.2 ,但是注意容器訪問容器,端口需要用容器內的端口,而不是映射到宿主機的3307。

到此這篇關于最新IDEA快速實現Docker鏡像部署運行的文章就介紹到這了,更多相關IDEA Docker鏡像部署運行內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/mofsfely2/article/details/108844138

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美洲大黑香蕉在线视频 | 精品亚洲国产一区二区 | 国产成人精品午夜在线播放 | 国产国拍亚洲精品av | 亚洲视频在线观看地址 | 国产美女做爰免费视频网址 | 青青五月天 | 99久久国产亚洲综合精品 | 亚洲国产香蕉视频欧美 | 香蕉在线播放 | 欧美做受 | 91精品免费观看老司机 | 国产午夜亚洲精品理论片不卡 | 77色视频在线 | 久草在线草a免费线看 | 国内精品久久久久久久 | 91精品国产高清久久久久久io | 亚洲品质水蜜桃 | 天堂漫画破解版 | 国产中文在线 | 亚洲精品综合一区二区 | 久久er99热精品一区二区 | 日韩在线第一区 | 日本阿v在线播放 | 男人插女人软件 | 91在线免费看| 日本天堂视频在线观看 | 五月天综合久久 | japanesemoms乱熟| tk白丝丨vk | 韩国美女vip内部2020 | 亚洲人和日本人hd | 精品一区二区三区视频日产 | 亚洲国产麻豆 | 亚洲国产成人综合 | 色欲麻豆国产福利精品 | 亚洲毛片基地 | 国产视频二 | 99久热只有精品视频免费观看17 | 国产精品久久久久久久久99热 | 91香蕉小视频 |