Rancher docker macos exec permission denied

6 浏览
0 Comments

Rancher docker macos exec permission denied

我在MacOS上通过Rancher Desktop安装了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

// ... 其他属性

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 Desktop完全访问磁盘。

我尝试降级Rancher,安装了旧版本。

作为macOS用户,我无法添加组。

最后,在其他计算机上(macOS、Linux)可以正常工作。

我还可以检查/更改其他内容来验证问题吗?

我检查了我的容器存储目录,而不是我的卷文件,正如我在这里读到的那样,我的文件有问题。

我是否需要在Mac偏好设置中进行一些配置,因为我记得几个月前在Mac设置中做过一些更改,那时所有的容器都正常工作。

0
0 Comments

Rancher Docker MacOS exec Permission Denied问题的原因是Rancher引擎的挂载方式导致的。解决该问题的方法是将其指定为使用mountType: 9p。

Rancher是一个开源的容器管理平台,可以用来管理和部署Docker容器。在MacOS上使用Rancher时,可能会遇到“exec Permission Denied”错误。这个错误的出现是因为Rancher引擎的挂载方式不正确。

根据一个在GitHub上的解决方案(链接:https://github.com/rancher-sandbox/rancher-desktop/issues/1209#issuecomment-1370181132),我们可以解决这个问题。解决方法是将Rancher引擎的挂载方式指定为mountType: 9p。

具体的操作步骤如下:

1. 打开Rancher Desktop的配置文件。

2. 找到并编辑该文件中的engineConfig部分。

3. 在engineConfig部分中添加一行mountType: 9p,以指定挂载方式。

4. 保存并关闭配置文件。

5. 重新启动Rancher Desktop。

通过以上步骤,我们可以解决Rancher Docker MacOS exec Permission Denied问题。这个问题的原因是Rancher引擎的挂载方式不正确,通过将挂载方式指定为mountType: 9p,我们可以解决这个问题。希望这篇文章对你有帮助!

0