加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

docker – 如何终止容器启动的进程

发布时间:2020-12-16 03:55:00 所属栏目:安全 来源:网络整理
导读:我有一个容器,我想杀死一个用来启动容器的进程. Dockerfile的最后一行是CMD [“python”,“app.py”] 我这样做而不是仅仅停止容器的原因是我要杀死进程,将bash压入容器,更改一些文件,然后再次启动进程.如果我杀了整个容器,那么我无法进入并更改文件. 如果有

我有一个容器,我想杀死一个用来启动容器的进程. Dockerfile的最后一行是CMD [“python”,“app.py”]

我这样做而不是仅仅停止容器的原因是我要杀死进程,将bash压入容器,更改一些文件,然后再次启动进程.如果我杀了整个容器,那么我无法进入并更改文件.

如果有更好的方法来实现我的目标,那么我宁愿这样做.我是码头工人的新手,所以我可能会遗漏一些东西.

这就是我所做的,这是行不通的.

?  $docker top mycontainer
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                1447                1226                0                   01:21               ?                   00:00:04            python app.py

?  $docker exec -it mycontainer ps -aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.5 20.6 1225304 210344 ?      Ssl  01:21   0:04 python app.py
root        61  0.0  0.2  15572  2208 ?        Rs+  01:35   0:00 ps -aux

?  $docker exec -it mycontainer kill -9 1
?  $docker top mycontainer
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                1447                1226                0                   01:21               ?                   00:00:04            python app.py
最佳答案
我有一个类似的问题.我无法杀死进程1.
所以我必须先运行另一个进程.我选择使用bash进程,重启循环.

我正在使用Docker-compose,所以我的容器命令文件最终看起来像这样:

bash -c "echo 'Starting'; while true; do python -u app.py; sleep 4; echo 'restarting'; done"

直接使用Docker时可能类似.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读