點擊藍色「程序員的時光 」關注我 ,標註「星標」,及時閱讀最新技術文章
寫在前面:
小夥伴兒們,你們好!上一篇咱們瞭解到了Docker容器的操做命令——久等了!Docker容器經常使用命令程序員
今天來學習Docker端口映射!持續更新,敬請期待!web
思惟導圖:

1,Docker映射是什麼?

容器裏面運行着應用,外部須要訪問交互,涉及到容器裏面的端口和宿主機之間的映射;docker
經過端口映射,咱們就能夠從外部訪問宿主機的指定端口來訪問到容器的應用;瀏覽器
2,如何實現Docker映射?
這裏咱們以Tomcat爲例子,咱們看看如何在外部經過Docker端口映射來訪問宿主主機裏面的Tomca。tomcat
2.1,下載tomcat容器鏡像
下載鏡像:docker pull tomcat:tag
,不加版本號的話默認是下載最新版本服務器

查看全部鏡像:docker images
,我這裏是已經下載了三個版本的tomcat微信

2.2,建立並啓動tomcat容器
建立啓動tomcat容器:docker run --name tomcat1 -d tomcat :latest
, 其中-d
是表示後臺運行容器,tomcat1
是容器名稱,tomcat :latest
是註明版本號app

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

2.3,開放端口映射命令
映射命令:docker run --name 容器名稱 -d -p (服務器端口):(Docker端口) image-name
編輯器
--name
:自定義容器名,不指定時,docker會自動生成一個名稱
-d
:表示後臺運行容器
服務器端口
:這裏的tomcat端口是8080
Docker端口
:咱們任意設置一個端口號,可是前提是這個端口號不能被佔用
image-name
:指定運行的鏡像名稱以及Tag,這裏也能夠用鏡像ID均可以的

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

結果,就這??

2.4,關於訪問映射端口出現404問題
這個問題相信剛開始搭建的時候應該都遇到過,我查了一下緣由以下:

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

進入以後,修改webapps
爲webapps2
或者修改webapps.dist
爲webapps
就能夠了


咱們先來看看效果:

3,提交運行容器成爲鏡像
上述運行成功以後,也存在必定問題,若是不退當前容器的狀況下,運行端口端口映射的tomcat是能夠訪問到首頁的;可是,咱們只是在這個容器中修改了 命名,咱們重啓了這個容器,修改的命名就會恢復。
爲了防止恢復問題,咱們本身把修改後的鏡像映射成新的鏡像
命令:docker commit -a=「做者名」 -m=「備註」 運行時容器ID 新鏡像名稱

而後咱們就能夠用新鏡像來從新訪問映射端口的應用了

很是方便!
好了,今天就先分享到這裏了,下期繼續給你們帶來Docker的使用後續內容!更多幹貨、優質文章,歡迎關注個人原創技術公衆號~

本文分享自微信公衆號 - 程序員的時光(gh_9211ec727426)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。