在Docker中,每個容器都有一個私有的IP地址。這對于容器內部通信非常方便,但如果我們希望在外部訪問容器,則需要使用Docker的公網IP。
默認情況下,Docker會創建一個默認的網絡,其中容器可以互相通信。但是,這個默認的網絡是不支持公網訪問的。因此,我們需要手動創建一個支持公網訪問的網絡。
docker network create --driver=bridge --subnet=172.20.0.0/16 --gateway=172.20.0.1 public_network
在這個命令中,我們使用bridge驅動創建了一個名為public_network的網絡,子網為172.20.0.0/16,網關為172.20.0.1。這個網絡支持公網訪問。
接下來,我們可以使用這個網絡來啟動容器。
docker run -d --name=nginx --net=public_network --ip=172.20.0.2 nginx
在這個命令中,我們使用public_network網絡啟動了一個名為nginx的容器,并指定了它的IP地址為172.20.0.2。
現在,我們可以使用172.20.0.2這個IP地址來訪問nginx容器。
總的來說,使用Docker公網IP可以方便地把容器的服務暴露給外部網絡。我們只需要手動創建一個支持公網訪問的網絡,并在啟動容器時指定IP地址即可。這個過程非常簡單。