[英]Docker-compose on WSL using incorrect path: \\?\C:\
我已經在這個問題上苦苦掙扎了一天多,盡管在 SO 和其他地方也有類似的問題,但沒有一個真正符合我的問題,也沒有解決它。 對於上下文,我使用docker
沒有問題,只有docker compose
。
我正在 WSL 環境中處理一個使用 docker compose 的舊項目。 當我運行時:
docker-compose -f /srv/etc/docker/docker-compose.yml -f /srv/etc/docker/docker-compose.prod.yml up --build
我收到以下錯誤:
OSError: Can not read file in context: \\?\C:\Users\<path>\venv\bin\python
其他有類似問題的路徑從/mnt/c
,這可以通過將/c
掛載到該目錄來解決。 但是,我的錯誤路徑與我在類似問題上看到的其他路徑不匹配。
無論如何,我嘗試了安裝解決方案,但並沒有改變我的問題。
我也看到提到docker engine use wsl
,但docker engine use wsl
docker engine check
沒有顯示wsl
,只有一個叫做current
。
我已經按照本文中的步驟讓 WSL 使用 Docker for Windows,我在類似的問題中看到過與 OP 之前所做的類似的問題,或者作為解決問題的建議。
所以,有幾個問題:
我相信你遇到了https://github.com/docker/compose/issues/7101
顯然,通過調用 docker-compose 我正在調用 Docker for Windows 的 docker compose,它使用 Windows 的 python。 Python 的 sys.platform 是“win32”(當然),這導致 docker compose 將該前綴添加到我的上下文中。 WSL 的 docker-compose 調用正確的 python,它返回 sys.platform 作為 linux。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.