我开始使用Rancher Desktop而不是Docker Desktop,并面临权限问题。我有一个docker-compose文件,其中包含以下内容:
version: "3.2"
services:
rabbitmq:
image: rabbitmq:3.8-management-alpine
container_name: 'rabbitmq'
ports:
- 5672:5672
- 15672:15672
environment:
RABBITMQ_DEFAULT_USER: guest
RABBITMQ_DEFAULT_PASS: guest
volumes:
- ~/.docker-conf/rabbitmq/data/:/var/lib/rabbitmq/
- ~/.docker-conf/rabbitmq/log/:/var/log/rabbitmq
但是当我尝试通过执行docker-compose up rabbitmq
来运行rabbitmq容器时,会抛出以下错误:
% docker-compose up rabbitmq
[+] Running 1/0
✔ Container rabbitmq Created 0.0s
Attaching to rabbitmq
rabbitmq | chown: /var/lib/rabbitmq: Permission denied
rabbitmq exited with code 1
%
我的电脑是Mac OS Monterey(M1)。
当我使用Docker Desktop时,它工作正常。你知道为什么牧场主桌面有权限问题以及如何修复它吗?任何帮助将不胜感激!
我试着删除卷部分并设置user: 'root'
,这解决了这个问题,但它对我来说不是一个好的解决方案。
version: "3.2"
services:
rabbitmq:
image: rabbitmq:3.8-management-alpine
container_name: 'rabbitmq'
user: "root"
ports:
- 5672:5672
- 15672:15672
environment:
RABBITMQ_DEFAULT_USER: guest
RABBITMQ_DEFAULT_PASS: guest
我希望我的rabbitmq容器可以正常启动,没有权限错误。
1条答案
按热度按时间btxsgosb1#
如果你使用Docker卷,而不是尝试绑定挂载现有的文件系统目录,这一切都很好:
这是因为在挂载卷时,它会获得挂载点的所有权和权限。
使用卷通常是管理容器存储更有效的方法(除非您明确需要访问底层文件)。