运维

运维

Products

当前位置:首页 > 运维 >

如何将Docker容器退出后保持其运行状态?

96SEO 2025-07-14 22:31 1


一、 用nohup命令

nohup是一种Linux命令,能使命令在后台运行,并且忽略全部挂起和终止信号。用nohup命令运行一个命令后在退出终端时该命令会接着来在后台运行,直到完成或手动杀死该进程。

docker退出容器保持运行

nohup docker run -d  

在这玩意儿命令中, -d标志表示以守护进程模式运行容器,和分别表示运行容器的选项和镜像名称。

二、 用screen命令

screen是一个GNU/Linux命令,能创建一个虚拟终端,在该终端中运行优良几个命令,并且能在断开连接后接着来运行。用screen命令,我们能在创建新鲜的虚拟终端并在其中运行我们的应用程序

screen -S myapp
docker run -d  

在这玩意儿命令中, -S myapp表示创建一个名为myapp的虚拟终端,然后在该终端中运行Docker容器。

三、 用systemd服务

systemd是一个系统和服务管理器,能启动和打住系统上的服务。我们能用systemd来创建一个服务,并在其中运行我们的应用程序

sudo nano /etc/systemd/system/myapp.service
Description=My App Service
ExecStart=/usr/bin/java -jar /opt/myapp/
User=myuser
Restart=always
WantedBy=multi-user.target

在这玩意儿示例中, 我们创建了一个名为myapp.service的systemd服务文件,其中包含了服务的说说、启动命令、运行用户和沉启策略。

一旦我们的.service文件被定义优良, 我们将它复制到/etc/systemd/system目录下并启动服务,如下所示:

sudo systemctl start myapp.service
sudo systemctl enable myapp.service

这玩意儿命令会启动我们的应用程序。眼下我们能用Ctrl+A和D键退出虚拟终端,并返回到我们的命令行界面。在我们需要 访问我们的应用程序时 我们能用以下命令:

sudo systemctl start myapp.service
sudo systemctl status myapp.service

本文介绍了怎么用nohup命令、screen命令和systemd服务来实现退出容器保持应用程序运行的方法。这些个方法都能帮我们更优良地管理我们的应用程序,搞优良应用程序的可靠性和可用性。



提交需求或反馈

Demand feedback