docker訪問宿主機MySQL

2021-10-17 03:16:13 字數 785 閱讀 3109

docker內部訪問宿主及mysql

有時mysql安裝在宿主機中,而服務在docker容器中,此時可以通過通過以下兩張方式訪問

方法一啟動docker時使用–net=host 

--net host這個引數,讓容器執行在宿主機相同的網路

此時可以通過127.0.0.1直接連線mysql

方法二使用docker內網ip連線

宿主機輸入ifconfig

ifconfig

docker0: flags=4163mtu 1500

inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255

inet6 fe80::42:aaff:fef6:afbf  prefixlen 64  scopeid 0x20

ether 02:42:aa:f6:af:bf  txqueuelen 0  (ethernet)

rx packets 14003206  bytes 1806192729 (1.6 gib)

rx errors 0  dropped 0  overruns 0  frame 0

tx packets 16676825  bytes 96141522987 (89.5 gib)

tx errors 0  dropped 0 overruns 0  carrier 0  collisions 0

docker0 網絡卡下的ip位址172.17.0.1就是宿主機在docker內網的ip

可以通過172.17.0.1連線

在docker容器內訪問宿主機的mysql服務

1 mysql在宿主機預設監聽位址為127.0.0.1的3306埠監聽 2 當在docker容器內部執行ifconfig後,會獲得 2,這個ip位址,在宿主機上執行ifconfig,會有docker0這個網橋,宿主機和docker容器就是通過這個docker0網橋進行通訊的,宿主機在此網橋上的ip位...

docker宿主機訪問docker容器服務失敗

原因 因為docker的虛擬ip網段是172.17.與區域網的ip網段172.17衝突了,所以有兩種方式 解決方法 一 修改docker網絡卡資訊,將網段改為與區域網不同的即可 linux修改方法 第一步 刪除原有配置 sudo service docker stop sudo ip link se...

宿主機訪問操作docker方式

一 ssh訪問 啟動的時候需要把22埠隱射出來 docker run t i d p 8091 8080 p 9527 22 name tomcat4 tomcat bases bin bash 二 nsenter 用來訪問另乙個程序的名字空間。nsenter要正常工作需要有root許可權 為了連線...