Docker 容器停止后不会再次启动
Docker containers won't start again after being stopped
我正在尝试在我的 QNAP NAS(Container Station)中启动 GitLab 或 Gitea docker 容器,但出于某种原因,当我重新启动容器时,它不会重新启动,因为文件迷路了(好像)。
例如,对于 GitLab,它给我错误提示 runsvdir-start
和 gitlab-ctl
不存在。对于 Gitea,它是 s6-supervise
文件。
现在我像这样启动容器,只是为了简单起见:
docker run -d --privileged --restart always gitea/gitea:latest
一个简单的 docker stop ....
和 docker start ....
打破了它。我该如何解决此类问题?
如果您刚刚启动,丢失数据是正常的:
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)。
QNAP 已将此问题发送给研发部门,他们能够重现该问题。这是一个错误,可能会在新的 Container Station 更新中得到修复。
已在QTS 4.3.6.20190906及之后的版本修复。
我正在尝试在我的 QNAP NAS(Container Station)中启动 GitLab 或 Gitea docker 容器,但出于某种原因,当我重新启动容器时,它不会重新启动,因为文件迷路了(好像)。
例如,对于 GitLab,它给我错误提示 runsvdir-start
和 gitlab-ctl
不存在。对于 Gitea,它是 s6-supervise
文件。
现在我像这样启动容器,只是为了简单起见:
docker run -d --privileged --restart always gitea/gitea:latest
一个简单的 docker stop ....
和 docker start ....
打破了它。我该如何解决此类问题?
如果您刚刚启动,丢失数据是正常的:
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)。
QNAP 已将此问题发送给研发部门,他们能够重现该问题。这是一个错误,可能会在新的 Container Station 更新中得到修复。
已在QTS 4.3.6.20190906及之后的版本修复。