docker - Docker Compose 无法进行重建
问题描述
我在 WSL 2 中遇到了一个奇怪的权限问题,并且正在努力解决它。我们有多个容器通过 docker compose 在 docker 中运行。一切正常,然后我make rebuild
使用更新的依赖文件运行,我收到以下异常:
(base) jam@Dagobah-System:~/dev$ sudo make rebuild
Input arguments
REPO: local
CONTAINER TAG: 0
SSH KEY PATH: /home/jam/.ssh/id_rsa
BASE REQS: ./deploy/environment/requirements.base.txt
CUSTOM REQS: ./deploy/environment/requirements.custom.txt
LOCAL REQS: ./deploy/environment/requirements.local.txt
TIMEZONE: Etc/UTC
DOCKERFILE: Dockerfile.local
Building base image
[+] Building 0.0s (1/2)
=> ERROR [internal] load build definition from Dockerfile.local 0.0s
------
> [internal] load build definition from Dockerfile.local:
------
failed to solve with frontend dockerfile.v0: failed to read dockerfile: failed to create lease: write /var/lib/docker/buildkit/containerdmeta.db: read-only file system
Finished building base image
Creating network "dev_default" with the default driver
ERROR: failed to update bridge store for object type *bridge.networkConfiguration: open /var/lib/docker/network/files/local-kv.db: read-only file system
makefile:24: recipe for target 'start-infra' failed
make: *** [start-infra] Error 1
如果我关闭所有内容,重新启动机器,我可以恢复旧容器并且它们运行良好。这看起来是 WSL 2、Docker 和 Windows 10 pro 上的 Docker 目录之间的某种权限问题。
Windows 10 专业版:10.0.19041 Build 19041
没关系,但 wsl 中的用户与 Windows 上的用户具有相同的凭据。我还为 Windows 配置了 Docker:
- 登录时启动 Docker Desktop
- 在没有 TLS 的情况下在 tcp://localhost:2375 上公开守护进程
- 使用基于 WSL 2 的引擎
解决方案
推荐阅读
- amazon-web-services - 带有 multer-3S 的 AWS lambda 上传不受支持的图像文件。但本地服务器上传正确
- php - 如果用户输入[复选框]和文本区域为空,PHP 将 CSV 列留空
- node.js - 将字符串数组从节点 js 获取到 ejs
- html - 为什么无论我尝试什么按钮都不会向上移动?
- tensorflow - 在 Flask 中导入多个自定义 tensor2tensor 问题
- css - 如果 mat-form-field 在组件中,表单布局会中断
- python - sklearn中的定制变压器
- c# - asp.net 核心授权 - 操作授权处理程序
- postgresql - postgres-decoderbufs-master -- centos7
- sql-server - SSRS 在新窗口/标签中打开链接(逗号分隔)