gpt4 book ai didi

node.js - 重新启动 Docker 内运行的 Ghost 博客

转载 作者:太空宇宙 更新时间:2023-11-03 22:13:52 24 4
gpt4 key购买 nike

我正在使用Official Ghost Docker Image ,并且 Ghost 运行没有问题。

我正在主机上本地开发一个主题,该主题作为容器内的卷安装。与任何正在运行的 Ghost 实例一样,为了查看主题更改,我需要停止并重新启动 Ghost。

通常,这仅意味着结束 Node 进程并再次运行 npm start。但在官方 Docker 镜像中,这不是一个选项。如果我尝试运行 npm start,系统会告诉我:

错误:(EADDRINUSE) 无法启动 Ghost。

这是有道理的,因为端口已在使用中。

我尝试手动终止进程但没有成功。如果我用

终止 Node 进程

kill -9 * Node 进程ID*

容器崩溃了。我也尝试过终止 npm 进程,但这似乎永远不会消失。

有什么想法吗?

最佳答案

这就是我在 docker 中部署 Ghost 博客的方式:

docker run --name some-blog -d -p 80:2368 -e VIRTUAL_HOST=domain.com -v/home/ghost/blogfiles/:/var/lib/ghost --restart 除非停止 Ghost

--restart except-stopped 对于 docker 容器随机崩溃时非常有用。它会自动重新启动它们。

通过执行 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 容器,您可以执行 docker stop [container id]docker start [container id] 或简单地 docker restart [container id] .

关于node.js - 重新启动 Docker 内运行的 Ghost 博客,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34698177/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com