如何将已运行的Docker容器/Compose服务转为detached(后台)模式?
如何将前台运行的Docker容器/Compose服务转为后台模式
可以将已启动的前台实例转为后台模式,分两种场景操作:
一、单个Docker容器的操作步骤
- 按下 Ctrl + Z,将当前前台运行的容器进程暂停并放入后台队列
- 输入
bg命令,让暂停的容器进程在后台继续运行 - 输入
jobs命令查看后台作业号(比如输出里的[1]),接着执行disown -h %1(把%1换成你的实际作业号),这样进程会脱离当前终端,即使关闭终端也不会被终止
二、Docker Compose服务的操作步骤
如果是直接执行docker-compose up myservice启动的前台服务,可通过终端作业控制处理:
- 按 Ctrl + Z 暂停服务进程
- 输入
bg让服务在后台继续运行 - 用
jobs查作业号,执行disown -h %<作业号>让进程脱离终端
你例子里用的docker-compose up myservice &已经把服务放到后台运行了,但如果想让它彻底脱离终端,同样可以执行disown -h %2(作业号就是输出里的[2])。
另外还有一种更稳妥的方式:在另一个终端执行docker-compose up -d myservice,Compose会自动将已运行的服务切换为后台模式,同时保持服务的运行状态。
内容的提问来源于stack exchange,提问作者user2888962
相关产品推荐
相关产品推荐

