在docker容器中,默認情況下,每個容器都有一個虛擬網絡接口,可以通過該接口與主機進行通信。同時,每個容器還會為自己開啟若干個內部端口,用于與其他容器或主機上的應用程序進行通信。
docker run -p 8080:80 nginx
上述命令表示在容器中開啟了80號端口,并將該端口映射到主機的8080端口。這樣就可以通過訪問主機的8080端口,訪問到容器的80號端口所提供的服務了。
docker run -p 127.0.0.1:8080:80 nginx
如果將上述命令中的IP地址修改為具體的一個IP地址,那么該端口將只能從該IP地址所在的主機上進行訪問。如果不進行修改,默認是任意主機都可以訪問該端口。
docker run -p 8080:80/tcp nginx
docker run -p 8080:80/udp nginx
對于TCP和UDP協議而言,它們使用的端口是不一樣的。如果需要映射容器中的UDP端口,則需要在端口號后面加上“/udp”后綴。
總之,在使用docker部署應用程序時,需要注意端口號的使用和配置,以保證應用程序能夠正常提供服務。