在使用 Docker 構建應用的過程中,我們通常需要通過訪問既定的 URL 來測試我們的應用是否正常運行。但是,由于 Docker 在運行應用時會新建一個容器,這也就意味著容器內的訪問地址是不同于本地主機的。
因此,我們需要在運行 Docker 容器時指定端口映射,使得外部可以通過某一端口訪問容器內的應用。具體的實現過程如下:
docker run -p 外部端口:容器內端口 鏡像名稱
例如,我們有一個基于 Node.js 的 web 應用,它監聽的端口是 8080。在運行容器時需要將此端口映射到我們想要使用的外部端口上,比如 3000,那么命令就應該是:
docker run -p 3000:8080 nodejs-app
這樣,我們就可以在瀏覽器中訪問 http://localhost:3000 來訪問這個 web 應用了。
需要注意的是,如果我們想讓容器內的應用能夠訪問外部的 URL,我們同樣需要進行端口映射。在這種情況下,需要將外部端口設置為 0.0.0.0,代表所有可用的 IP 地址都可以訪問這個端口。例如:
docker run -p 0.0.0.0:8080:8080 nodejs-app
這樣,我們在容器內訪問 http://localhost:8080 就可以訪問到外部的某一個 URL 了。