相关疑难解决方法(0)

如何杀死容器内的进程?Docker顶级命令

我在docker网站的官方指南中有一个简单的例子.

我执行以下操作:

sudo docker run -d ubuntu:latest /bin/sh -c "while true; do echo hello world; sleep 1; done"
a66asdasdhqie123...
Run Code Online (Sandbox Code Playgroud)

然后从创建的容器中获取一些输出:

sudo docker logs a66
hello
hello
hello
...
Run Code Online (Sandbox Code Playgroud)

然后我查找容器的运行进程:

sudo docker top a66
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                25055               15152               0                   20:07               ?                   00:00:00            /bin/sh -c while true; do echo hello world; sleep 1; done
root                25295               25055               0                   20:10               ?                   00:00:00            sleep 1
Run Code Online (Sandbox Code Playgroud)

接下来我尝试杀死容器的第一个进程:

sudo docker exec a66 kill -9 25055
Run Code Online (Sandbox Code Playgroud)

但是在我做完之后没什么变化.进程仍然有效并且每秒输出"你好".我错了什么?

unix command-line kill process docker

16
推荐指数
1
解决办法
4万
查看次数

测试重新启动策略 - 如何使容器崩溃以使其重新启动

我有一个 docker-compose 文件,它创建 3 个 Hello World 应用程序并使用 nginx 来负载平衡不同容器之间的流量。

docker-compose 代码如下:

version: '3.2'
services:
  backend1:
      image: rafaelmarques7/hello-node:latest
      restart: always
  backend2:
      image: rafaelmarques7/hello-node:latest
      restart: always
  backend3:
      image: rafaelmarques7/hello-node:latest
      restart: always
  loadbalancer:
      image: nginx:latest      
      restart: always
      links:
          - backend1
          - backend2
          - backend3
      ports:
        - '80:80'
      volumes: 
        - ./container-balancer/nginx.conf:/etc/nginx/nginx.conf:ro
Run Code Online (Sandbox Code Playgroud)

我想验证该restart: always政策是否确实有效。

我尝试的方法如下:

  • 首先,我运行我的应用程序docker-compose up
  • 我用docker container ps;标识容器 ID
  • 我用docker stop ID_Container或杀死/停止其中一个容器docker kill ID_Container

我期待在第 3 步之后(停止/杀死容器。这使它与代码 137 一起存在),重新启动策略将启动并再次创建一个新容器。

然而,这不会发生。我读到这是故意的,因为有一种方法可以手动停止具有重启策略的容器。

尽管如此,我想知道如何以触发重启策略的方式杀死容器,以便我可以实际验证它是否正常工作。

感谢您的帮助。

docker docker-compose

5
推荐指数
2
解决办法
1443
查看次数

标签 统计

docker ×2

command-line ×1

docker-compose ×1

kill ×1

process ×1

unix ×1