【问题标题】:Docker containers won't start again after being stoppedDocker 容器停止后不会重新启动
【发布时间】:2019-11-01 00:57:46
【问题描述】:

我正在尝试在我的 QNAP NAS(Container Station)中启动 GitLab 或 Gitea docker 容器,并且由于某种原因,当我重新启动容器时,它不会启动备份,因为文件丢失了(似乎) .

例如,对于 GitLab,它给我的错误是 runsvdir-startgitlab-ctl 不存在。对于 Gitea,它是 s6-supervise 文件。

现在我像这样启动容器,只是为了简单起见:

docker run -d --privileged --restart always gitea/gitea:latest

一个简单的docker stop ....docker start .... 打破了它。如何解决此类问题?

【问题讨论】:

  • 我对集装箱站和Gitea有完全相同的问题。 GitLab CE 也会出现类似的问题。

标签: docker gitlab qnap gitea


【解决方案1】:

QNAP 已将此问题发送给研发部门,并且他们能够复制它。这是一个错误,可能会在新的 Container Station 更新中修复。


现已在 QTS 4.3.6.20190906 及更高版本中修复。

【讨论】:

  • 您有我们可以用来跟踪错误的案例/问题跟踪器吗?
  • 很遗憾没有。我正在通过私人支持票进行交流,我现在正在等待更新。当他们修复它时,我会更新这篇文章。
【解决方案2】:

如果您只是启动,通常会丢失数据:

docker run -d --privileged --restart always gitea/gitea:latest

您应该使用 VOLUME 在您的主机和 docker 主机之间共享文件夹,例如:

docker run -d --privileged -v ./gitea:/data -p 3000:3000 -p 222:22 --restart always gitea/gitea:latest

或者使用 docker-compose.yml(参见official docs)。

【讨论】:

  • 不幸的是,事实并非如此。我一直在使用卷。卷数据保留了,但是重启后还是说s6-supervise文件丢失。
  • 您在没有使用 --privileged 的​​情况下进行了测试 使用 --privileged 标志运行容器可以为容器提供所有功能,还可以访问主机设备(/dev 文件夹下的所有内容)。
  • 我测试了有无特权标志。
猜你喜欢
  • 1970-01-01
  • 2015-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-29
  • 2015-07-24
  • 2015-10-28
  • 1970-01-01
相关资源
最近更新 更多