Docker 是一種輕量級(jí)的虛擬化技術(shù),它可以讓開發(fā)人員在自己的計(jì)算機(jī)上運(yùn)行多個(gè)獨(dú)立的容器。這些容器可以運(yùn)行不同的應(yīng)用程序,相互隔離,又可以訪問相同的物理資源。但是,Docker 并不是孤立的,它需要與物理機(jī)進(jìn)行通信才能實(shí)現(xiàn)更多的功能。
物理機(jī)是 Docker 運(yùn)行環(huán)境的宿主機(jī),是 Docker 容器的運(yùn)行環(huán)境。要讓 Docker 與物理機(jī)進(jìn)行通信,我們需要設(shè)置正確的網(wǎng)絡(luò)環(huán)境。
docker run -p host_port:container_port image_name
使用這個(gè)命令可以將 Docker 的端口映射到物理機(jī)的端口上。這樣,我們就可以通過物理機(jī)的 IP 地址和端口號(hào)訪問 Docker 中運(yùn)行的應(yīng)用程序。
docker run --net=host image_name
使用這個(gè)命令可以讓 Docker 容器使用宿主機(jī)的網(wǎng)絡(luò)環(huán)境,這樣就可以和物理機(jī)實(shí)現(xiàn)直接通信。
Docker 與物理機(jī)的通信可以通過端口映射和網(wǎng)絡(luò)共享兩種方式實(shí)現(xiàn)。根據(jù)不同的需求,我們可以采取不同的方式來適配 Docker 的網(wǎng)絡(luò)環(huán)境,實(shí)現(xiàn) Docker 與外界的通信。