docker - 如果挂载的文件已更改,如何强制 Ansible 重新创建 docker 容器
问题描述
我正在尝试让 Ansible 重新创建现有的 docker 容器,以防已安装的文件之一发生更改。在我使用compose 文件docker_container
部署它之前,我尝试使用它来删除容器(如果它存在并且任何文件已更改)。docker_stack
这是代码:
- name: Template configuration files to destination
template:
...
loop:
...
register: template_files_result
- name: Get docker container name
shell: "docker ps -f 'name=some_name' -q"
register: container_id
- name: Remove container
docker_container:
name: container_id.stdout
force_kill: yes
state: absent
vars:
files_changed: "{{ template_files_result | json_query('results[*].changed') }}"
when: container_id.stdout and files_changed is any
- name: Deploy
docker_stack:
state: present
name: stack_name
compose:
- "compose.yml"
with_registry_auth: true
但是,该Remove container
任务从不做任何事情,我不知道为什么。
我错过了什么?
解决方案
推荐阅读
- spring-boot - Spring Boot 应用程序中的 HazelCast 抛出您可能有太长的 Hazelcast 配置的错误
- javascript - ajax 通过 Php 从 MSSQL 服务器获取数据
- android - 在 ARCore 中始终旋转的垂直平面上添加的对象
- php - Laravel - 如何更新两个值
- c# - 我可以列出 Visual Studio 解决方案中的所有 *不可用* 项目吗?
- php - PDO:如果查询未找到结果,则返回 0
- android - MVC 与 MVP 与 MVVM 用例
- python - django connec mysql --_mysql_exceptions.OperationalError: (2006,
) - vba - PoiwerPoint 自动更新文本框
- vb.net - 如何在 SQLite 中搜索特定的 BLOB?