在容器中操作宿主機的Docker

2021-09-11 21:57:32 字數 1063 閱讀 5624

儘管該操作方式不合理,違背了docker的初衷,但有些場景仍然可以使用。

$ docker run -d --name docker  \ 

-v /var/run/docker.sock:/var/run/docker.sock \

-v /usr/bin/docker:/usr/bin/docker \

-v /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 \

image:tag

引數說明:

(1)-v /var/run/docker.sock:/var/run/docker.sock:容器中的程序通過它與docker守護程序進行通訊

(2)-v /usr/bin/docker:/usr/bin/docker:將宿主機的docker命令掛載到容器中。

/usr/bin.docker為docker命令所在具體位置,可以通過which docker指令獲取。或者掛載時使用-v $(which docker):/usr/bin/docker

(3)-v /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7ibltdl.so.7是docker命令執行所依賴的函式庫,容器中library的預設目錄是/usr/lib/x86_64-linux-gnu/,把宿主機的libltdl.so.7函式庫掛載到該目錄即可。

可以通過whereis libltdl.so.7命令檢視具體位置

centos7中該檔案路徑為/usr/lib64/libltdl.so.7

ubuntu中該檔案路徑為/usr/lib/x86_64-linux-gnu/libltdl.so.7

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

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

docker從容器中怎麼訪問宿主機

docker搭建了lnmp環境後,如果需要訪問安裝在宿主機上的資料庫或中介軟體,是不能直接使用127.0.0.1這個ip的,這個ip在容器中指向容器自己,那麼應該怎麼去訪問宿主機呢 例如你的docker環境的虛擬ip是192.168.99.100,那麼宿主機同樣會託管乙個和192.168.99.10...

Docker拷貝宿主機與容器中的檔案

如果我們需要將宿主機檔案拷貝到容器內可以使用 docker cp 命令,也可以將檔案從容器內拷貝到宿主機 將宿主機檔案拷貝到容器內 docker cp 要拷貝的宿主機檔案或目錄 容器名稱 容器檔案或目錄1.在宿主機上建立乙個mengxuegu檔案並寫入內容 2.將mengxuegu檔案拷貝進 myc...