繁体   English   中英

无法删除Docker主机上的文件

[英]Cannot delete files on docker host

我正在使用以下shell脚本在入口点提取数据库并启动容器。

#!/bin/bash
if [ ! -d "/var/lib/mysql/assetmanager" ]; then
tar -zxvf mysql.tar.gz
fi
exec /usr/bin/mysqld_safe

在启动时,我使用-v参数将本地目录安装到/ var / lib / mysql目录,然后使用上述脚本解压缩文件。 但是现在我无法删除主机上提取的文件,因为权限被拒绝错误。 有人可以帮我解决这个问题。

谢谢

您无法删除它们,因为默认情况下,由root用户执行的容器中进程和提取的文件属于root。 如果您不需要映射目录中的这些文件,请使用-v ...:/ myassets和脚本中的其他位置:

if [ ! -d "/var/lib/mysql/assetmanager" ]; then
tar -zxvf /myassets/mysql.tar.gz
fi

如果只需要一个文件,则可以映射一个文件而不是整个目录。

还有许多其他解决方案,取决于您的需求:

  • 您可以以root用户身份删除这些文件:sudo rm ...
  • 您可以在退出前将其删除到容器中
  • 您可以在容器中创建用户并从该用户创建文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM