docker進(jìn)入容器并執(zhí)行命令 docker從容器中怎么訪問(wèn)宿主機(jī)?
docker從容器中怎么訪問(wèn)宿主機(jī)?docker構(gòu)建LNMP環(huán)境后,如果您需要訪問(wèn)安裝在主機(jī)上的數(shù)據(jù)庫(kù)或中間件,則不能直接使用IP 127.0.0.1,它指向容器中的容器本身。如何訪問(wèn)主機(jī)例如,如果d
docker從容器中怎么訪問(wèn)宿主機(jī)?
docker構(gòu)建LNMP環(huán)境后,如果您需要訪問(wèn)安裝在主機(jī)上的數(shù)據(jù)庫(kù)或中間件,則不能直接使用IP 127.0.0.1,它指向容器中的容器本身。如何訪問(wèn)主機(jī)例如,如果docker環(huán)境的虛擬IP是192.168.99.100,那么主機(jī)也將承載一個(gè)與192.168.99.100網(wǎng)段相同的虛擬IP,主機(jī)IP將是192.168.99.1。在容器中很容易訪問(wèn)192.168.99.1,這相當(dāng)于訪問(wèn)主機(jī)。請(qǐng)注意,通過(guò)192.168.99.1訪問(wèn)主機(jī)相當(dāng)于更改IP如果庫(kù)或中間件限制本地訪問(wèn)或IP段,請(qǐng)記住將192.168.99.1添加到白名單中
docker和主機(jī)之間的交互是通過(guò)本機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)的。docker進(jìn)程啟動(dòng)時(shí),它將在主機(jī)上配置一個(gè)名為docker 0的虛擬網(wǎng)橋。此接口允許docker將虛擬子網(wǎng)分配給即將啟動(dòng)的容器。此網(wǎng)橋?qū)⒊洚?dāng)容器中網(wǎng)絡(luò)與主機(jī)網(wǎng)絡(luò)之間接口的主節(jié)點(diǎn)。docker容器啟動(dòng)后,將創(chuàng)建一個(gè)新的虛擬接口,并在網(wǎng)橋子網(wǎng)中分配一個(gè)IP地址。此IP地址嵌入到容器網(wǎng)絡(luò)中,用于提供從容器網(wǎng)絡(luò)到docker 0網(wǎng)橋的通道。Docker自動(dòng)配置iptables規(guī)則來(lái)釋放和配置NAT。在主機(jī)上連接docker 0后,可以訪問(wèn)主機(jī)的MySQL數(shù)據(jù)文件。
docker從容器中怎么訪問(wèn)宿主機(jī)?
有兩種常見(jiàn)方案;
方案1:
如果主機(jī)執(zhí)行ifconfig,它將看到docker 0的IP,可用于訪問(wèn)主機(jī)。
方案2:[批準(zhǔn)]主機(jī).docker.internal
將
127.0.0.1添加到主機(jī)文件主機(jī).docker.internal