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。如有錯誤或未考慮完全的地方,望不吝賜教。