Docker 實現容器端口綁定本地端口
今天遇到啟動鏡像之後,通過HTTP請求的的方式訪問不瞭的一個小問題,下面來記錄並分享下解決辦法:
常用的docker啟動命令和解決辦法如下所示:
一、啟動docker
眾所周知,啟動容器的命令如下:
docker run 鏡像名稱
二、綁定容器端口與本地端口
由於啟動容器之後,本地無法直接訪問容器內的端口,故而需要將本地的端口與容器的端口做一個綁定操作,從而可以通過本地端口去訪問容器,設置如下:
docker run -p 本地端口:容器端口 鏡像名稱
然後就可以通過本地的瀏覽器通過本地的端口訪問容器瞭。
三、容器在後臺運行,加-d參數,命令如下:
docker run -d -p 本地端口:容器端口 鏡像名稱
四、查看鏡像列表,命令如下
docker image ls 或 docker images
五、查看正在運行的容器,命令如下
docker ps
補充:docker 給運行的容器映射本地端口
1.提交運行中的容器為一個鏡像 (這樣不會丟失在容器的各種操作)
docker commit tang tang1 ### tang(運行容器名稱) tang1(生成鏡像名稱)
2.運行鏡像並添加端口
docker run -d -it -p 8000:80 tang1:latest /bin/bash ### 小p是自定義端口 latest 是鏡像的標簽(最好寫上專業點)
補充:docker加載volume並綁定端口
要求
已獲取docker image,現在想要創建container,加載本地目錄到container目錄,還有映射本地和container之間的端口。
具體舉例如下:
image ID: 884e0fc83dfe
設置container name: test
將本地的9000端口映射到container的80端口
加載數據卷volume:將本地的~/Desktop/test 映射到container的/test目錄
實現
docker run -it --name test -v ~/Desktop/test:/test -p 9000:80 884e0fc83dfe /bin/bash # 進入新建container docker start test docker attach test
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。