Sign inSign up

adockero/events-script

By adockero

•Updated about 6 years ago

根据docker事件执行脚本(可代替docker-gen来重启nginx)(auto nginx reload)

Image
1

100K+

adockero/events-script repository overview

⁠docker-events-script

根据docker events事件执行指定脚本

hub.docker.com https://hub.docker.com/r/adockero/events-script⁠

events-script

⁠使用

⁠启动容器

// 简单使用,自带根据network事件执行nginx名称的容器重启配置
docker run --restart=always -d --privileged \
  -v /var/run/docker.sock:/var/run/docker.sock \
  --name events-script \
  adockero/events-script 

⁠测试

启动容器触发network事件

docker run -i --rm --network host nginx ls

一键组合测试命令--常规

docker rm -f events-script || \
docker run --restart=always -d --privileged -v /var/run/docker.sock:/var/run/docker.sock --name events-script adockero/events-script && \
docker run -i --rm --network host nginx ls && \
docker logs events-script && \
docker rm -f events-script

一键组合测试命令--带pull

docker rm -f events-script || \
docker pull adockero/events-script && \
docker run --restart=always -d --privileged -v /var/run/docker.sock:/var/run/docker.sock --name events-script adockero/events-script && \
docker run -i --rm --network host nginx ls && \
docker logs events-script && \
docker rm -f events-script

⁠查看执行日志

docker logs -f adockero/events-script

⁠ini配置文件

docker-scripts/events-script.ini文件

如下默认nginx重读配置的配置

[nginxReload]
args='-f "type=network" -f "event=connect"'
command='sleep 2 && docker exec -i nginx nginx -t && docker exec -i nginx nginx -s reload'

⁠自定义事件脚本

1、[test] 头必须英文无空格
2、只有两个配置参数。执行配置脚本是 /docker-scripts/fifo_event.sh
3、args是docker events的命令参数
4、command是事件触发时只需的脚本,可以使用docker命令,多个命令用&&
5、如果是一个容器重新创建,就需要sleep等待容器能联通后在重启nginx

⁠其他

1、如果出现无法重启的问题,请即使去github的issues⁠反馈

Tag summary

Content type

Image

Digest

Size

81.2 MB

Last updated

about 6 years ago

docker pull adockero/events-script