這是關于在沒有 Docker Desktop 的情況下從 WSL 中運行 Docker的問題。它對WSL2是可行的,所以這個問題的重點是WSL1。在我的研究中,
- 有人說 “Docker 守護行程不能直接在 WSL 上運行”,而
- 另一篇文章說,在 Docker 社區版 17.09.0 的幫助下,Docker 可以“在 Windows 子系統 Linux 中無縫運行” ,因為“對 WSL 內核進行了一項重要的更改,允許使用 Docker 管理系統所需的 cgroups。資源放入容器中。”
我的 docker 在 debian Bullseye 下是 20.10.5。還會好嗎?
我試了一下,得到:
iptables can't initialize iptables table `nat': Table does not exist
而Iptables v1.6.1 can't initialize iptables table `filter' Ubuntu 18.04 Bash Windows的答案是,
根據 github.com 上的 Microsoft WSL 頁面,不支持 iptables。
https://github.com/Microsoft/WSL/issues/767
但這已經是 4 年多前的事了,而且由于 2019 年晚些時候有可能,我想知道最新的狀態是什么。
uj5u.com熱心網友回復:
WSL1 -可以的小引擎(包含鏈接,因為該參考可能僅被有限的觀眾理解)。
不幸的是,對于 Docker,WSL1 引擎似乎已經失去動力。在閱讀您參考的那篇博客文章以及相應的Github 執行緒時,我對人們在運行 Docker 方面取得的進展感到非常驚訝。我以前從未見過。
但是,如果您閱讀 Github 執行緒上的完整評論,結果似乎相當有限。將這些摘錄按順序排列:
[ 2018-04-23 ] 很高興地說 Docker 守護行程終于在 WSL 上運行了。我正在構建 17134 上進行測驗。... 現在在構建 17134 上運行的最后一個 docker-ce 版本是 17.09.0。之后的任何操作都無法提取 docker 影像。
請注意,它必須(并且仍然必須)在以Windows管理員身份運行的 WSL1 實體中運行。
[ 2018-0612 ] 不幸的是,
docker-compose仍然無法正常作業....有一個問題iptables尚未完全通過 WSL 支持。
(你遇到過,雖然我沒有看到。也許是“管理員”的東西?)
[ 2018-07-09 ] 是的,我最近在 Twitter 上提到了它,并從我們的前 WSL PM 那里得到了一條主要的“我們不支持這個,我們強烈建議反對它”的訊息。
[ 2018-11-13 ] WSL 下午在這里。正如上面評論中提到的,我們在最近的 WSL 版本中改進了 Docker 支持。大多數(如果不是全部)版本的 docker-ce 都使用 WSL。我們目前正在為 WSL 進行大量更改。作為這些更改的一部分,我們正在考慮在 WSL 中添加本機 Docker 支持。當我有其他更新要分享時,我將添加到此執行緒和有關 Docker 支持的其他問題
這似乎沒有任何進展,因為至少 PM 再也沒有在帖子中發過帖子。
[ 2019-04-18 ] 就像其他人指出的那樣,運行 docker 17.09 有效。以后的任何事情都會因不同的錯誤而失敗。可能是較新的 docker 版本正在使用 WSL 尚未實作的其他系統呼叫。
這里還有一些其他關于運行--network host(對于客戶端)或--iptables=false(對于守護行程)的訊息。
[ 2019-08-04 ] 通過 WSL2 構建的 Windows Insider Fast Ring (>=18917),最新的 docker/docker-compose 在 WSL Linux 中本地運行。
而在 2020 年末,該執行緒消失了。
在測驗 WSL1 Ubuntu 20.04 實體中,我能夠hello-world運行,但僅此而已。運行busybox或ubuntu影像(有或沒有互動式終端)失敗,原因如下:
Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: waiting for init preliminary setup: EOF: unknown.
一旦焦點轉移到 WSL2 和真正的內核,在我看來,WSL 團隊在推進 WSL1 的偽內核系統呼叫轉換層方面并沒有取得任何進展。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/481473.html
標籤:码头工人 windows-subsystem-for-linux wsl-2
下一篇:不匹配的右大括號/方括號
