在使用Docker時(shí),我們通常會(huì)部署一些應(yīng)用程序并在內(nèi)部網(wǎng)絡(luò)中運(yùn)行。但是有時(shí)候我們還需要從外部網(wǎng)絡(luò)中訪問這些應(yīng)用程序,這就需要使用Docker外部訪問的功能。
首先,我們需要知道如何配置Docker容器,以便使其能夠從外部訪問。我們可以使用Docker run命令中的-p選項(xiàng)來指定容器的端口號(hào),并將其映射到宿主機(jī)的端口號(hào)上。例如:
docker run -p 8080:80 nginx
這個(gè)命令將啟動(dòng)一個(gè)Nginx容器,并將容器的80號(hào)端口映射到宿主機(jī)的8080號(hào)端口。這意味著我們可以通過訪問http://宿主機(jī)IP:8080來訪問Nginx服務(wù)。
如果我們需要訪問多個(gè)容器,我們可以在每個(gè)容器中使用不同的端口號(hào),并將它們映射到宿主機(jī)的不同端口上。例如:
docker run -p 8080:8080 tomcat docker run -p 8081:80 nginx
這個(gè)命令將啟動(dòng)一個(gè)Tomcat容器,并將容器的8080號(hào)端口映射到宿主機(jī)的8080號(hào)端口。同時(shí),還啟動(dòng)一個(gè)Nginx容器,并將容器的80號(hào)端口映射到宿主機(jī)的8081號(hào)端口。現(xiàn)在我們可以通過http://宿主機(jī)IP:8080和http://宿主機(jī)IP:8081來分別訪問Tomcat和Nginx的服務(wù)。
最后,我們需要確保外部網(wǎng)絡(luò)中的防火墻允許來自宿主機(jī)端口的流量通過。如果我們的宿主機(jī)正在運(yùn)行防火墻軟件,我們需要在防火墻配置中添加允許流量通過的規(guī)則。例如:
sudo ufw allow 8080/tcp sudo ufw allow 8081/tcp
以上就是Docker外部訪問的一些基本知識(shí)。通過映射容器的端口到宿主機(jī)的端口上,并在防火墻中允許流量通過,我們可以方便地從外部網(wǎng)絡(luò)中訪問我們的應(yīng)用程序。