如何在 Docker 中使用 forever CLI?
How to use the forever CLI in Docker?
我正在 Docker 调整我的每个项目,我使用名为 forever
的 CLI 来重新运行 我的脚本,如果它们失败了。
我正在使用 official node.js Docker tutorial to Dockerize my simpler scripts, but when I got to my more complex one (which were using the forever
CLI) 我不知道如何 运行 Docker 中的 CLI。
有什么方法可以实现这一点,或者使用 forever
CLI or the module?
我会重申 Oliver 的评论,因为我认为它实际上是一个有效的答案。当 运行 将进程作为 Docker 容器时,已经有一些机制可以处理 forever
为您所做的事情。
对 forever
动作的快速掩饰表明它实际上已经有点像 Docker:
actions:
start Start SCRIPT as a daemon
stop Stop the daemon SCRIPT by Id|Uid|Pid|Index|Script
stopall Stop all running forever scripts
restart Restart the daemon SCRIPT
restartall Restart all running forever scripts
list List all running forever scripts
config Lists all forever user configuration
set <key> <val> Sets the specified forever config <key>
clear <key> Clears the specified forever config <key>
logs Lists log files for all forever processes
logs <script|index> Tails the logs for <script|index>
columns add <col> Adds the specified column to the output in `forever list`
columns rm <col> Removed the specified column from the output in `forever list`
columns set <cols> Set all columns for the output in `forever list`
cleanlogs [CAREFUL] Deletes all historical forever log files
不要使用 forever
来管理您的流程,只需使用 Docker:
docker run
的 --restart=always
选项与 forever
的基本概念相同,用于重新启动应用程序并在失败时保持 运行ning。
docker run
与 forever start
同义。在后台添加-d
到docker run
到运行。
docker ps
与 forever list
同义。在 Docker 的情况下,只需让每个 forever
进程成为一个 Docker 容器。
docker logs
与 forever logs
同义。
这应该使您的过程变得相当微不足道,只需将您的过程设为 Dockerfile
中的 CMD
或 ENTRYPOINT
并完全消除 forever
。
进一步,当您开始进行容器编排和部署时,请查看运行状况检查(HEALTHCHECK
说明)、Docker Swarm 和 Docker Compose。
我正在 Docker 调整我的每个项目,我使用名为 forever
的 CLI 来重新运行 我的脚本,如果它们失败了。
我正在使用 official node.js Docker tutorial to Dockerize my simpler scripts, but when I got to my more complex one (which were using the forever
CLI) 我不知道如何 运行 Docker 中的 CLI。
有什么方法可以实现这一点,或者使用 forever
CLI or the module?
我会重申 Oliver 的评论,因为我认为它实际上是一个有效的答案。当 运行 将进程作为 Docker 容器时,已经有一些机制可以处理 forever
为您所做的事情。
对 forever
动作的快速掩饰表明它实际上已经有点像 Docker:
actions:
start Start SCRIPT as a daemon
stop Stop the daemon SCRIPT by Id|Uid|Pid|Index|Script
stopall Stop all running forever scripts
restart Restart the daemon SCRIPT
restartall Restart all running forever scripts
list List all running forever scripts
config Lists all forever user configuration
set <key> <val> Sets the specified forever config <key>
clear <key> Clears the specified forever config <key>
logs Lists log files for all forever processes
logs <script|index> Tails the logs for <script|index>
columns add <col> Adds the specified column to the output in `forever list`
columns rm <col> Removed the specified column from the output in `forever list`
columns set <cols> Set all columns for the output in `forever list`
cleanlogs [CAREFUL] Deletes all historical forever log files
不要使用 forever
来管理您的流程,只需使用 Docker:
docker run
的--restart=always
选项与forever
的基本概念相同,用于重新启动应用程序并在失败时保持 运行ning。docker run
与forever start
同义。在后台添加-d
到docker run
到运行。docker ps
与forever list
同义。在 Docker 的情况下,只需让每个forever
进程成为一个 Docker 容器。docker logs
与forever logs
同义。
这应该使您的过程变得相当微不足道,只需将您的过程设为 Dockerfile
中的 CMD
或 ENTRYPOINT
并完全消除 forever
。
进一步,当您开始进行容器编排和部署时,请查看运行状况检查(HEALTHCHECK
说明)、Docker Swarm 和 Docker Compose。