当通过colima旋转neo4j容器时,权限被拒绝



我最近从Docker Desktop切换到colima,从那以后我一直无法启动neo4j容器。当我运行docker-compose时,我在docker日志中得到以下错误,导致neo4j崩溃:

> docker logs neo4j
Changed password for user 'neo4j'.
chown: /data/dbms/auth.ini: Permission denied
chown: /data/dbms: Permission denied
chown: /data/dbms: Permission denied
chown: /data: Permission denied
chown: /data: Permission denied

以前,相同的代码在Docker Desktop设置中工作得很好。有什么好主意吗?

我已经试过了:

  • 已验证登录用户对上述日志中提到的相应文件和目录具有读/写权限。
  • 尝试重新安装colima, docker和docker-compose.
  • 这些工具的相关文件夹的交叉检查权限(/。科利马,/。码头工人等)
  • 使用"sudo"无论适用
  • 尝试删除日志中提到的/data/目录,以便它可以正确地重新生成
  • 打开和关闭:P

我找到了一个解决方案,我在这里写这篇文章是为了将来其他可能遇到同样问题的用户参考。问题的核心在于绑定挂载的卷。以前,docker桌面有更高的特权/权限,但现在转移到colima后,相同的特权不再存在。

用户权限没有正确地传递给容器,导致它们无法访问主机上的绑定卷。解决方案是在docker运行命令或docker-compose文件等中添加user:groupuid:gid映射。

user: "<uid>:<gid>"  

在docker-compose文件中,它看起来像这样:

version: '3.4'
services:
neo4j:
image: neo4j:3.5.5
container_name: neo4j
ports:
- 7474:7474
- 7687:7687
volumes:
- ./example/docker/neo4j/conf:/conf
- ./.local/neo4j/data:/var/lib/neo4j/data
user: '1000'
group_add:
- '1000'

要了解更多信息,请参阅以下文档/线程:

  • https://docs.docker.com/engine/reference/run/用户
  • https://docs.docker.com/storage/volumes/
  • https://github.com/abiosoft/colima/issues/54

如果您没有使用docker-compose,我的答案可能会有所帮助。

我最近从Docker Desktop切换到Calima,遇到了先前正常运行的MySQL容器卷中的文件"permission denied"错误。但是,我还是解决了这个问题。

错误:

chown: changing ownership of '/var/lib/mysql/private_key.pem': Permission denied
chown: changing ownership of '/var/lib/mysql/ca-key.pem': Permission denied
chown: changing ownership of '/var/lib/mysql/ibdata1': Permission denied
chown: changing ownership of '/var/lib/mysql/#innodb_temp': Permission denied
chown: changing ownership of '/var/lib/mysql/#innodb_temp/temp_3.ibt': Permission denied
chown: changing ownership of '/var/lib/mysql/#innodb_temp/temp_2.ibt': Permission denied
chown: changing ownership of '/var/lib/mysql/#innodb_temp/temp_1.ibt': Permission denied

修复是添加--user 1000:1000

docker run --rm --name my-db-name 
-e MYSQL_ROOT_PASSWORD=1234 
-p 3306:3306 
--user 1000:1000 
-v $PWD/mysql-data:/var/lib/mysql 
--platform linux/x86_64 
mysql:8.0

相关内容

  • 没有找到相关文章

最新更新