在虛擬機器中製作 docker 用戶端以附加到主機上的 docker 守護程式

在虛擬機器中製作 docker 用戶端以附加到主機上的 docker 守護程式

如何讓 Windows Server 2019 VM 上的 Docker 用戶端附加到在 Moby VM 中使用 Linux 容器的主機上的 Docker 引擎?

我的設定如下:

(A) Windows 10
(B)     Docker
(C)     Hyper-V
(D)        MobyLinuxVM
(E)        WinServer2019VM
(F)            Docker

我試圖避免巢狀虛擬化以在 WinServer2019VM (E) 上使用 Docker。我無法讓 Windows 上的 Linux 容器 (LCOW) 在 VM (E) 內工作,但由於 LCOW 仍處於實驗階段,我現在暫時放棄它。

現在docker主機 (B) 上的命令使用使用 MobyLinuxVM (D) 的 Linux 容器。現在,我嘗試docker在虛擬機器(E) 上發出命令,透過附加到主機(B) 上的docker 引擎並使用透過MobyLinuxVM (D) 啟用的Linux 容器來執行完全相同的操作,並且其行為與(B)完全相同。

我嘗試在主機上的 Docker (B) 上啟用設定“Expose daemon on tcp://localhost:2375 without TLS”,並DOCKER_HOST="tcp://HOST_NAME:2376"在 VM (E) 上進行設置,但這不起作用。我怎樣才能做到這一點?謝謝!

答案1

我假設你的 MobyLinuxVM (D) 是 Docker Desktop 的 VM,對嗎?
設定「在沒有 TLS 的情況下在 tcp://localhost:2375 上公開守護程式」僅允許來自主機 (A) 的連線。

如果您想從另一台電腦進行連線(在您的情況下是從 VM (E)),則這將無法運作。

嘗試在 MobyLinuxVM 上使用輔助容器開啟 Docker Remote API (D)

https://gist.github.com/kekru/4e6d49b4290a4eebc7b597c07eaf61f2#enable-docker-remote-api

相關內容