Docker映射詳解,沒問題了!
點擊藍色“程序員的時光 ”關注我 ,標注“星標”,及時閱讀最新技術(shù)文章

寫在前面:
小伙伴兒們,大家好!上一篇我們了解到了Docker容器的操作命令——久等了!Docker容器常用命令
今天來學習Docker端口映射!持續(xù)更新,敬請期待!
思維導圖:

1,Docker映射是什么?

容器里面運行著應用,外部需要訪問交互,涉及到容器里面的端口和宿主機之間的映射;
通過端口映射,我們就可以從外部訪問宿主機的指定端口來訪問到容器的應用;
2,如何實現(xiàn)Docker映射?
這里我們以Tomcat為例子,我們看看如何在外部通過Docker端口映射來訪問宿主主機里面的Tomca。
2.1,下載tomcat容器鏡像
下載鏡像:docker pull tomcat:tag,不加版本號的話默認是下載最新版本

查看所有鏡像:docker images,我這里是已經(jīng)下載了三個版本的tomcat

2.2,創(chuàng)建并啟動tomcat容器
創(chuàng)建啟動tomcat容器:docker run --name tomcat1 -d tomcat :latest,
其中-d是表示后臺運行容器,tomcat1是容器名稱,tomcat :latest是注明版本號

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

2.3,開放端口映射命令
映射命令:docker run --name 容器名稱 -d -p (服務器端口):(Docker端口) image-name
--name:自定義容器名,不指定時,docker會自動生成一個名稱
-d:表示后臺運行容器
服務器端口:這里的tomcat端口是8080
Docker端口:我們?nèi)我庠O置一個端口號,但是前提是這個端口號不能被占用
image-name:指定運行的鏡像名稱以及Tag,這里也可以用鏡像ID都可以的

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

結(jié)果,就這??

2.4,關于訪問映射端口出現(xiàn)404問題
這個問題相信剛開始搭建的時候應該都遇到過,我查了一下原因如下:

解決辦法:
我們先進入到tomcat的目錄:

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


我們先來看看效果:

3,提交運行容器成為鏡像
上述運行成功之后,也存在一定問題,如果不退當前容器的情況下,運行端口端口映射的tomcat是可以訪問到首頁的;但是,我們只是在這個容器中修改了 命名,我們重啟了這個容器,修改的命名就會恢復。
為了防止恢復問題,我們自己把修改后的鏡像映射成新的鏡像
命令:docker commit -a=“作者名” -m=“備注” 運行時容器ID 新鏡像名稱

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

非常方便!
好了,今天就先分享到這里了,下期繼續(xù)給大家?guī)鞤ocker的使用后續(xù)內(nèi)容!更多干貨、優(yōu)質(zhì)文章,歡迎關注我的原創(chuàng)技術(shù)公眾號~
