有許多人對于 Docker -p 命令的使用不是非常清楚,其中一個較為常見的使用場景是指定綁定容器服務到宿主機的 IP 地址和端口。這時候就涉及到了 Docker -p 域名的使用,下面將通過幾個段落來詳細解析。
docker run -p host-ip:host-port:container-port CONTAINER-ID
在上述命令中使用了 “host-ip:host-port” 參數的方式指定了容器的 IP 地址和端口。但是有時候我們不知道 IP 地址要填寫哪個,尤其是出現多網卡的情況,因此就需要使用域名的方式指定綁定。
在使用 Docker -p 域名之前,需要先在 /etc/hosts 文件中為容器創建別名。比如以下配置:
192.168.1.2 mycontainer.net
在此之后,可以使用以下命令來綁定容器的服務:
docker run -p mycontainer.net:host-port:container-port CONTAINER-ID
此時的 mycontainer.net 就會指向容器對應的 IP 地址,從而實現綁定服務。
需要注意的是,在使用 Docker -p 域名的時候,需保證容器內的服務可以正確訪問到該域名。可以使用 Ping 命令來測試是否可行。
ping mycontainer.net
如果沒有出現問題,則可以正常使用 Docker -p 域名來指定綁定容器服務到宿主機的 IP 地址和端口了。