我得到了用于安装 seafile 的 init.sh 文件。打电话时:
if [ ! -f /config/init_completed ]; then
...
else
# start seafile
sudo bash ${INSTALLPATH}seafile.sh start
sudo bash ${INSTALLPATH}seahub.sh start
# keep seafile running in foreground to prevent docker container shutting down
while true; do
sudo tail -f /opt/seafile/logs/seafile.log
sleep 10
done
fi
我收到错误:/scripts/init.sh: line 44: sudo: command not found
Install Path是Dockerfile中设置的环境变量:
ENV SEAFILE_VERSION seafile-server-6.3.4
ENV INSTALLPATH /opt/seafile/${SEAFILE_VERSION}/
whoami
输出是根
如果没有 sudo 命令,错误是(猜测是因为没有 sudo 我没有权限):
bash: /opt/seafile/seafile-server-6.3.4/seafile.sh: No such file or
directory
答案1
Debian 默认情况下不安装 Sudo。您可以使用命令安装它
apt-get install sudo
或者您可以编辑脚本,删除须藤参考并以 root 身份运行它。
第二个错误
bash: /opt/seafile/seafile-server-6.3.4/seafile.sh: 没有这样的文件或目录
bash 是否说没有该名称的文件海文件.sh在里面/opt/seafile/seafile-server-6.3.4/目录。检查两个名称(也许您必须之前提取一些文件,或者可能 Seafile 版本与 6.3.4 不同),然后重试。
答案2
我通过添加 sudo 解决了这个问题ENTRYPOINT sudo bash /scripts/init.sh
。