我正在尝试在Ansible中完成docker kill -s HUP <container>
,但看起来我尝试的选项总是重新启动容器或尝试而不是重新加载配置。
运行以下命令允许我重新加载配置而不重新启动容器:
docker kill -s HUP <container>
Ansible docker_container
文档提供了以下选项:
force_kill
停止运行时使用kill命令 容器
kill_signal
覆盖用于终止运行的默认信号 容器
孤立地使用kill_signal
没有做任何事情。
以下是我希望的工作示例:
- name: Reload haproxy config
docker_container:
name: '{{ haproxy_docker_name }}'
state: stopped
image: '{{ haproxy_docker_image }}'
force_kill: True
kill_signal: HUP
我认为重写force_kill
和kill_signal
会给我所需的行为。我还尝试将 state 设置为'started'和present
。
这样做的正确方法是什么?
答案 0 :(得分:0)
我使用了一个简单的外壳command
,它在docker-compose文件提供我的服务时运行:
---
- hosts: pis
remote_user: pi
tasks:
- name: Get latest docker images
docker_compose:
project_src: dc
remove_orphans: true
pull: true
register: docker_compose_output
- name: reload prometheus
command: docker kill --signal=HUP dc_prometheus_1
when: '"prometheus" in ansible_facts'
- name: reload blackbox
command: docker kill --signal=HUP dc_blackbox_1
when: '"blackbox" in ansible_facts'
我使用GitHub高级搜索找到了一些示例,但它们对我不起作用:
https://github.com/search?q=kill_signal%3A+HUP+docker+extension%3Ayml&type=Code
一个例子:
- name: Reload HAProxy
docker_container:
name: "haproxy"
state: started
force_kill: true
kill_signal: HUP