【问题标题】:Docker error failed to create shim: OCI runtime create failed: container_linux.go:380:Docker 错误创建 shim 失败:OCI runtime create failed: container_linux.go:380:
【发布时间】:2022-12-06 23:55:49
【问题描述】:

错误: 对于 app_web

Cannot start service app_web: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:75: mounting "/host_mnt/Users/akanwar/Documents/c/cbax-config" to rootfs at "/cbax-apply-platform/node_modules/@c/cbax-config" caused: mkdir /var/lib/docker/overlay2/a3bccebb167966c795860d95a5a758f244ae5da780f962333f0d51d2d8b2def7/merged/cbax-apply-platform/node_modules/@c/cbax-config: operation not permitted: unknown

采取的解决措施

  1. 删除了运行一切的 docker 数据。
  2. 从 Docker 小部件清理/清除数据
  3. 从 Docker 小部件重置为出厂设置
  4. docker 系统修剪 --all
  5. https://github.com/docker/for-mac/issues/1396 我也点击了这个链接并尝试了其中提到的解决方案,但仍然没有一个对我有用。

    没有一种解决方案对我有用

【问题讨论】:

  • 添加 docker-compose.yml 和您运行的命令。此外,如果您有任何自定义 Dockerfile,它们可能有助于理解您在做什么。乍一看,我会说你正在以只读方式安装卷,然后尝试写入它......
  • 添加 docker-compose.yml @Mihai
  • 还有你一直延伸的那个?
  • 添加了 apply-platform/docker-compose.yml @Mihai

标签: docker docker-compose docker-machine


【解决方案1】:

您需要从所有服务中删除它:

      - ${CBAX_PATH}/cbax-apply-platform:/cbax-apply-platform:rw

您不能先挂载文件夹,然后再挂载子文件夹。这是错误的:

      - ${CBAX_PATH}/cbax-apply-platform:/cbax-apply-platform:rw
      - ${CBAX_PATH}/cbax-application-pages:/cbax-apply-platform/app/assets/components/cbax-application-pages:rw

您还可以在具有读写访问权限的多个服务中安装许多主机文件夹。如果所有服务都开始修改文件,我认为这会使主机上的文件变得一团糟。最好以只读方式安装它们。

【讨论】:

  • 这个相同的代码之前工作没有任何改变,这是 docker 的一些问题
  • 没有冒犯:你使用 Docker 小部件,这告诉我你不太了解 docker 的实际工作方式。但你也不听道理。没关系。然后想想在“有效”之前和现在发生了什么变化。可能会降级 docker,直到找到“有效”的版本并忽略之后应用的所有安全补丁。
  • Docker 容器内的文件系统就像 Docker 容器外的文件系统一样工作:如果您要创建文件或目录,则需要适当的权限。在这种情况下,您正尝试以非根用户身份创建 /newfolder。 @Mihal 码头工人问题
  • @art 我看到你把一切都控制住了并想通了。除了 USER 是一个构建时指令,其中卷的创建是一个运行时指令。如果您在未指定用户的情况下运行容器,则暗示为 root。然后以 root 身份创建卷。您可以使用 docker-compose 中的 userdocker run 中的 --user 更改它,但您没有这样做。
【解决方案2】:

当 docker-compose 文件在我的 mac OS 机器上寻找文件夹 cbax-config 路径时,就会发生这种情况。 MacOS 没有 cbax-config,因此无法挂载。

【讨论】:

    【解决方案3】:

    当 docker-compose 文件在我的 mac OS 机器上寻找文件夹 cbax-config 路径时,就会发生这种情况。 MacOS 没有 cbax-config,因此无法挂载。

    【讨论】:

      【解决方案4】:

      当 docker-compose 文件在我的 mac OS 机器上寻找文件夹 cbax-config 路径时,就会发生这种情况。 MacOS 没有 cbax-config,因此无法挂载

      【讨论】:

        【解决方案5】:

        当 docker-compose 文件在我的 mac OS 机器上寻找文件夹 cbax-config 路径时,就会发生这种情况。 MacOS 没有 cbax-config,因此无法挂载。

        【讨论】:

          【解决方案6】:

          当 docker-compose 文件在我的 mac OS 机器上寻找文件夹 cbax-config 路径时,就会发生这种情况。 MacOS 没有 cbax-config,因此无法挂载。

          【讨论】:

            猜你喜欢
            • 2022-01-10
            • 1970-01-01
            • 2021-06-03
            • 2020-06-05
            • 2021-10-08
            • 2022-12-03
            • 1970-01-01
            • 2018-05-28
            • 2021-08-22
            相关资源
            最近更新 更多