小编ben*_*rtz的帖子

在bash中捕获来自"docker stop"的信号

我在docker容器中有一个入口点脚本,如下所示:

#!/bin/bash

echo starting up

function shut_down() {
    echo shutting down

    pid=$(ps -e | grep myapp | awk '{print $1}')
    kill -SIGTERM $pid  
    exit
}

trap "shut_down" SIGKILL SIGTERM SIGHUP SIGINT EXIT

/opt/myapp
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何通过docker stop在容器上运行来捕获发送的信号.以交互方式运行时,a ctrl+c将按预期触发它,但docker stop命令只等待10秒超时,并在不进入shut_down函数的情况下退出

如何捕获docker stopbash 发送的信号进行一些清理?

bash docker

16
推荐指数
3
解决办法
9306
查看次数

如何在go go应用程序中阅读consul SRV记录?

我正在尝试实现服务发现的领事,我遇到两件事:连接到自定义DNS服务器,并格式化我的net.LookupSRV()请求.

这是我试图在我的应用程序中查找的内容:

$ dig @127.0.0.1 -p 8600 serviceb.service.consul SRV

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @127.0.0.1 -p 8600 serviceb.service.consul SRV
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4511
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;serviceb.service.consul.   IN  SRV

;; ANSWER SECTION:
serviceb.service.consul. 0  IN  SRV 1 1 80 az1-serviceb1.node.dc1.consul.
serviceb.service.consul. …
Run Code Online (Sandbox Code Playgroud)

dns go consul

7
推荐指数
1
解决办法
1745
查看次数

标签 统计

bash ×1

consul ×1

dns ×1

docker ×1

go ×1