Categories
程式開發

Docker映射詳解,沒問題了!


小伙伴兒們,大家好! 上一篇我們了解到了Docker容器的操作命令——久等了! Docker容器常用命令“今天來學習Docker端口映射!持續更新,敬請期待!

思維導圖:

Docker映射詳解,沒問題了! 1

1,Docker映射是什麼?

Docker映射詳解,沒問題了! 2

容器裡面運行著應用,外部需要訪問交互,涉及到容器裡面的端口和宿主機之間的映射;

通過端口映射,我們就可以從外部訪問宿主機的指定端口來訪問到容器的應用;

2,如何實現Docker映射?

這裡我們以Tomcat為例子,我們看看如何在外部通過Docker端口映射來訪問宿主主機裡面的Tomca。

2.1,下載tomcat容器鏡像

下載鏡像:docker pull tomcat:tag,不加版本號的話默認是下載最新版本

Docker映射詳解,沒問題了! 3

查看所有鏡像:docker images,我這裡是已經下載了三個版本的tomcat

Docker映射詳解,沒問題了! 4

2.2,創建並啟動tomcat容器

創建啟動tomcat容器:docker run –name tomcat1 -d tomcat :latest, 其中-d是表示後台運行容器,tomcat1是容器名稱,tomcat :latest是註明版本號

Docker映射詳解,沒問題了! 5

查看正在運行的容器:docker ps

Docker映射詳解,沒問題了! 6

2.3,開放端口映射命令

映射命令:docker run –name 容器名稱-d -p (服務器端口):(Docker端口) image-name

–name:自定義容器名,不指定時,docker會自動生成一個名稱

-d:表示後台運行容器

服務器端口:這裡的tomcat端口是8080

Docker端口:我們任意設置一個端口號,但是前提是這個端口號不能被佔用

image-name:指定運行的鏡像名稱以及Tag,這裡也可以用鏡像ID都可以的

Docker映射詳解,沒問題了! 7

這個時候我們的端口以及搭建好了,我們在瀏覽器中輸入服務器ip地址(查看命令:ip addr show)再加上Docker端口就可以訪問了。

Docker映射詳解,沒問題了! 8

結果,就這? ?

Docker映射詳解,沒問題了! 9

2.4,關於訪問映射端口出現404問題

這個問題相信剛開始搭建的時候應該都遇到過,我查了一下原因如下:

Docker映射詳解,沒問題了! 10

解決辦法:

我們先進入到tomcat的目錄:

Docker映射詳解,沒問題了! 11

進入之後,修改webapps為webapps2或者修改webapps.dist為webapps就可以了

Docker映射詳解,沒問題了! 12

Docker映射詳解,沒問題了! 13

我們先來看看效果:

Docker映射詳解,沒問題了! 14

3,提交運行容器成為鏡像

上述運行成功之後,也存在一定問題,如果不退當前容器的情況下,運行端口端口映射的tomcat是可以訪問到首頁的;但是,我們只是在這個容器中修改了命名,我們重啟了這個容器,修改的命名就會恢復。

為了防止恢復問題,我們自己把修改後的鏡像映射成新的鏡像

命令:docker commit -a=“作者名” -m=“備註” 運行時容器ID 新鏡像名稱

Docker映射詳解,沒問題了! 15

然後我們就可以用新鏡像來重新訪問映射端口的應用了

Docker映射詳解,沒問題了! 16

非常方便!

好了,今天就先分享到這裡了,下期繼續給大家帶來Docker的使用後續內容! 更多乾貨、優質文章,歡迎關注我的原創技術公眾號~

Docker映射詳解,沒問題了! 17