docker-compose - docker-compose 不发送信号到陷阱
问题描述
我有一个简单的 docker-compose.yml
version: '3.8'
services:
port-forwarder:
image: test
container_name: port-forwarder
volumes:
- "/path_to_scripts/port_forwarder.sh:/port_forwarder.sh"
command: "/port_forwarder.sh"
port_forwarder.sh
#!/usr/bin/env bash
trap 'echo exiting ; exit 0' SIGTERM TERM SIGINT INT EXIT WINCH SIGWINCH
tail -f /dev/null
Dockerfile
FROM alpine:3.12.0
RUN apk add --no-cache bash
如果我构建图像并使用它运行它
docker build -t test .
docker run --name test -it --rm -v /path_to_scripts/port_forwarder.sh:/port_forwarder.sh test /port_forwarder.sh
然后按 ctrl-c,它会捕获 SIGTERM 并在控制台上写“退出”。但是当我使用 'docker-compose up' 运行它并点击 ctrl-c 时,它会挂起并在 10 秒后被杀死。我在 OSX 上使用 docker。可能是什么原因以及如何从 docker-compose 捕获终止信号?
解决方案
推荐阅读
- jms - Amazon MQ 服务如何在不要求客户端使用 TrustStore 和 KeyStore 的情况下工作?
- python - 如何在 python pptx 中编辑图表轴 - 'GraphicFrame' 对象没有属性 'category_axis'
- kernel-module - 当内核构建在树外时如何交叉编译外部内核模块?
- reactjs - 如何在 Carbon Design System 中自定义主题?
- php - 从 CLI 调用外部命令时 PHP 脚本挂起
- xamarin - Xamarin Forms - 使用 iOS 原生库
- javascript - 如何获取所有变量名,但只能从 JavaScript 中的特定文件获取?
- python - 我想在控制台中显示我的图像?(使用 PIL)
- javascript - Django - 从 HTML 下拉菜单 + 按钮中获取价值
- java - 如何使用jackson(Java)反序列化对象中的json对象?