Docker mysqld:无法创建/写入文件(错误代码:2 - 没有此文件或目录)

Docker mysqld:无法创建/写入文件(错误代码:2 - 没有此文件或目录)

当我运行时,docker-compose up --build database我可能会收到以下错误。我无法让它工作。我该如何更改/var/lib/tmp/docker 容器中的权限。

database_1  | mysqld: Can't create/write to file '/var/lib/tmp/iblofOgV' (Errcode: 2 - No such file or directory)
database_1  | 2021-05-31T15:21:28.270650Z 0 [ERROR] InnoDB: Unable to create temporary file; errno: 2
database_1  | 2021-05-31T15:21:28.270656Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
database_1  | 2021-05-31T15:21:28.270660Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
database_1  | 2021-05-31T15:21:28.270663Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
database_1  | 2021-05-31T15:21:28.270666Z 0 [ERROR] Failed to initialize builtin plugins.
database_1  | 2021-05-31T15:21:28.270668Z 0 [ERROR] Aborting

主机 PC 是否有问题?

答案1

尝试使用 bash 或 sh 进入 docker 容器,然后更改文件夹权限。您可以使用以下 docker cli 命令执行此操作:

docker exec -it [container_name] sh 

或者

docker exec -it [container_name] bash

如果你的图像已经安装了 bash(通常没有)。

然后只需将权限更改为您想要的任何内容并输入exit即可返回到 docker 主机。

相关内容