我通过 MacOS 上的 rancher 桌面安装了 docker,并且我已经使用 docker 几个月了。现在发生了一些自动发生的事情(不可能),我无法通过 docker-compose 启动一些容器,例如 kafka。
我有 docker-compose.yml 文件:
version: '3.7'
services:
kafka:
image: confluentinc/cp-server:5.5.0
restart: always
ports:
- "29092:29092"
environment:
KAFKA_BROKER_ID: 1
// ... other props
command: /create.sh
volumes:
- ./create.sh:/create.sh
- ./t.config:/t.config
我想启动这个容器
docker-compose up -d
并得到一个错误:
Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "/create.sh": permission denied: unknown
环境
% docker --version
Docker version 20.10.17-rd, build c2e4e01
% docker-compose --version
Docker Compose version v2.11.1
Rancher Desktop Version: 1.6.1
我读了很多帖子,最有可能的是我的文件没有正确的权限,但是:
% ls -l create.sh
-rwxr-xr-x 1 myUser u 1083 Oct 26 16:08 create.sh
我尝试更改容器中的权限:
command: chmod a+x /create.sh && /create.sh
然后 docker 镜像开始一次又一次重新启动,没有任何日志文件。
我还允许我的 Rancher 桌面完整磁盘访问
我尝试通过安装旧版本来降级 Rancher https://docs.rancherdesktop.io/getting-started/installation/
我无法将 Group 作为 macOS 用户添加Docker Rancher - 从 WSL 使用 docker 时权限被拒绝
最后,它可以在另一台计算机上运行(macOS、Linux)。
我还可以检查/更改其他内容来验证问题吗?
我检查了我的容器存储目录而不是我的卷文件,正如我在此处阅读的单个文件卷作为 Docker 中的目录安装的,我的文件有问题。 我是否应该在 mac 首选项中配置一些内容,因为我认为几个月前可以在 mac 设置中执行某些操作,这就是所有容器一直在工作的原因。
我找到了这里提到的解决方案 https://github.com/rancher-sandbox/rancher-desktop/issues/1209#issuecomment-1370181132
这基本上是因为牧场主发动机的安装方式。所以你必须引导它使用
mountType: 9p
在主屏幕中,单击左下角的“首选项”按钮。然后单击新窗口左侧的“虚拟机”选项卡。选择 9p。