gpt4 book ai didi

nginx - 停止 Nginx Docker 容器

转载 作者:行者123 更新时间:2023-12-04 18:21:07 24 4
gpt4 key购买 nike

只有在该 Nginx 实例的 access.log 中没有事件一段时间后,我才尝试停止运行 Nginx 的 Docker 容器。

是否可以从容器内部停止 Docker 容器?我能想到的另一个解决方案是在主机操作系统上运行一个 cron 来检查 /var/lib/docker/aufs/mnt/[container id]/但我计划启动大量容器,并且不想保留 ID 列表。

最佳答案

当容器中的主进程停止时,docker 容器就会停止。

我设置了一个小 dockerfile 和一个启动脚本来展示这在你的情况下是如何工作的:

Dockerfile

FROM nginx
COPY start.sh /
CMD ["/start.sh"]

start.sh
#!/bin/bash
nginx &
sleep 20
# replace sleep 20 with your test of inactivity
nginx stop

构建容器,运行和测试
$ docker build -t ng .

$ docker run -d ng

$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3a373e721da7 ng:latest "/start.sh" 4 seconds ago Up 3 seconds 443/tcp, 80/tcp distracted_colden
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3a373e721da7 ng:latest "/start.sh" 16 seconds ago Up 16 seconds 80/tcp, 443/tcp distracted_colden
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
$

关于nginx - 停止 Nginx Docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29570081/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com