macos - Mac 上的 Docker - OCI 运行时创建失败:mkdir 权限被拒绝
问题描述
尝试运行我的 docker 文件时。我收到以下错误。
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"rootfs_linux.go:58: mounting \\\"/Users/hkatyal/go/src/github.com/purser/bin/amd64\\\" to rootfs \\\"/var/lib/docker/overlay2/c144a9b95f53811b456c7a4e84064bf4231a2a94afcf2c77b8c6d031c3f4bf87/merged\\\" at \\\"/var/lib/docker/overlay2/c144a9b95f53811b456c7a4e84064bf4231a2a94afcf2c77b8c6d031c3f4bf87/merged/go/bin/linux_amd64\\\" caused \\\"mkdir /var/lib/docker/overlay2/c144a9b95f53811b456c7a4e84064bf4231a2a94afcf2c77b8c6d031c3f4bf87/merged/go/bin/linux_amd64: permission denied\\\"\"": unknown.
我的 Docker Cmd 如下:
@docker run \
-ti \
-u $$(id -u):$$(id -g) \
-v $$(pwd)/.go:/go:$(DOCKER_MOUNT_MODE) \
-v $$(pwd)/$(BUILD):/go/src/$(PRO)/$(BUILD):$(DOCKER_MOUNT_MODE) \
-v $$(pwd)/$(CMD):/go/src/$(PRO)/$(CMD):$(DOCKER_MOUNT_MODE) \
-v $$(pwd)/$(PKG):/go/src/$(PRO)/$(PKG):$(DOCKER_MOUNT_MODE) \
-v $$(pwd)/$(DEP):/go/src/$(PRO)/$(DEP):$(DOCKER_MOUNT_MODE) \
-v $$(pwd)/bin/$(ARCH):/go/bin:$(DOCKER_MOUNT_MODE) \
-v $$(pwd)/bin/$(ARCH):/go/bin/linux_$(ARCH):$(DOCKER_MOUNT_MODE) \
-v $$(pwd)/.go/std/$(ARCH):/usr/local/go/pkg/linux_$(ARCH)_static:$(DOCKER_MOUNT_MODE) \
-w /go/src \
golang:1.11 \
/bin/sh -c " \
ARCH=$(ARCH) \
VERSION=$(VERSION) \
PKG=$(PKG) \
./$(PRO)/$(BUILD)/build.sh \
"
这个问题出现在 Mac 上,在 Linux 上运行良好。我需要更改一些设置吗?
环境详情如下:
macOS Version: 10.13.6
码头工人版本:
$ docker version
Client: Docker Engine - Community
Version: 18.09.0
API version: 1.39
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:47:43 2018
OS/Arch: darwin/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.0
API version: 1.39 (minimum version 1.12)
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:55:00 2018
OS/Arch: linux/amd64
Experimental: true
解决方案
问题是 Mac 机器不是真正的 Docker 主机,Mac 上的 Docker 在 VM 上运行,并且 Docker 卷不在路径中。
推荐阅读
- node.js - 无法使用带有 Uniswap SDK 的 node.js 中的以太币连接到本地以太坊节点(主网)
- node.js - AWS RDS:无法将服务器与 Postgres 连接
- gitlab - 将 Gitlab Runner 合并到现有分支中
- google-sheets-api - 谷歌表格 - “来电者没有权限”异常
- python - JSON 解码器运行时错误:“无法做出响应预期值:第 1 行第 1 列(字符 0)”
- php - Laravel:按关系排序(产品按第一个订单日期排序)
- pandas - 在熊猫中添加带有前缀的唯一标识符列
- python - How to calculate a column using the most common words calculated from another dataframe in Python?
- powershell - coloredlogs not displaying "correctly" in windows powershell
- angular - Angular: Difference in runtime with Providers in AppModule and providedIn: 'root'?