相关疑难解决方法(0)

停止 Synology 通知“Docker 容器意外停止”

我有一个带有一个 Node.js 脚本的容器,该脚本使用CMD npm start. 脚本运行,做一些工作,然后退出。该node进程退出,因为没有待处理的工作。在npm start成功退出。然后容器停止。

我通过 cronjob 在 Synology NAS 上运行这个容器docker start xxxx。当它完成时,我从他们的警报系统中收到一个警报Docker 容器 xxxx 意外停止docker container ls -a将其状态显示为Exited (0) 5 hours ago。如果我监视docker events我看到的情况dieexitCode=0

似乎我需要通过生成stop事件而不是die事件来向系统发出信号,表明预期退出。这是我可以在我的图像或docker start命令行上做的事情吗?

synology docker

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

Docker运行脚本捕获中断信号

我有一个 docker-compose.yml 启动多个容器。其中之一使用 Dockerimage 文件来安装该容器中所需的所有内容。

我想添加一个每次等待中断信号 0、9 和 137 时运行的脚本。

现在,我尝试将脚本作为 Dockerimage 文件中的入口点运行,但似乎不起作用。

这是 Dockerimage 文件的内容:

RUN apt-get update && [...]
WORKDIR "/application"
ENTRYPOINT ["/bin/bash", "-c", "/application/scripts/cl.sh"] 
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?我需要使用以下命令重建容器吗?

docker-compose build
Run Code Online (Sandbox Code Playgroud)

这是bash脚本cl.sh的内容

#!/bin/bash

echo "HELLO HELLO HELLO HELLO"

trap 'echo "Exiting with a 137 signal."' 137 0 9
Run Code Online (Sandbox Code Playgroud)

目前该脚本的唯一目的是测试所有功能。

bash docker dockerfile docker-compose

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

加速 docker-compose 关闭

当我将应用程序设置为通过 运行时docker-compose up,需要几秒钟才能在 ctrl+c 上停止。但是,如果我运行docker kill ...,容器会很快停止。当通过 ctrl+c 杀死时,我可以做些什么来加速容器关闭docker-compose up

特别是,当 docker-compose 说它“正常停止”时,这实际上意味着什么?docker-compose 是否尝试了一些关闭协议,然后仅在超时后才终止我的容器?

docker-compose

3
推荐指数
2
解决办法
2339
查看次数

标签 统计

docker ×2

docker-compose ×2

bash ×1

dockerfile ×1

synology ×1