我使用以下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目录,然后使用上述脚本解压缩文件。 但现在我无法删除主机上提取的文件,因为权限被拒绝错误。 有人可以帮我解决这个问题。
THX
答案 0 :(得分:1)
您无法删除它们,因为root用户执行的容器中的默认进程和提取的文件属于root。如果您在映射的目录中不需要这些文件,请在-v ...:/ myassets和脚本中使用不同的位置:
if [ ! -d "/var/lib/mysql/assetmanager" ]; then
tar -zxvf /myassets/mysql.tar.gz
fi
如果只需要该文件,也可以映射单个文件而不是整个目录。
还有许多其他解决方案,取决于您的需求: