我正在使用Official Ghost Docker Image,并且幽灵在没有问题的情况下运行。
我正在主机上本地开发一个主题,它作为容器内的卷安装。与任何正在运行的ghost实例一样,为了查看主题更改,我需要停止并重新启动ghost。
通常这只是意味着结束Node进程并再次运行npm start
。但在官方Docker镜像中,这不是一个选择。如果我尝试运行npm start
,我告诉:
ERROR: (EADDRINUSE) Cannot start Ghost.
这是有道理的,因为端口 已在使用中。
我尝试手动查杀进程但没有成功。如果我用
杀死节点进程 kill -9 *node process ID*
容器崩溃了。我也尝试过杀死npm进程,但这似乎永远不会失败。
有什么想法吗?
答案 0 :(得分:1)
这是我在docker中部署我的幽灵博客的方式:
docker run --name some-blog -d -p 80:2368 -e VIRTUAL_HOST=domain.com -v /home/ghost/blogfiles/:/var/lib/ghost --restart unless-stopped ghost
当docker容器随机崩溃时,--restart unless-stopped
非常有用。它会自动重启它们。
通过执行docker ps
列出您的docker容器,您应该得到这样的内容:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
11d2517205de ghost "/entrypoint.sh npm s" 2 hours ago Up About a minute 0.0.0.0:80->2368/tcp some-blog
要重新启动泊坞窗容器,您可以docker stop [container id]
和docker start [container id]
或只需docker restart [container id]
。