使用Ansible部署Docker映像
在回顾了这个令人惊叹的论坛之后,我想是时候加入 我对部署多个码头工人的剧本有意见使用Ansible部署Docker映像,docker,ansible,Docker,Ansible,在回顾了这个令人惊叹的论坛之后,我想是时候加入 我对部署多个码头工人的剧本有意见 我的Ansible版本是:2.5.1 我的Python版本是3.6.9 我的Linux映像来自以下站点:osbox Docker服务已安装并在两台机器上运行 根据本网站的介绍,您只需按照说明操作,一切都会完美无瑕。:) (我使用的剧本在上面的链接中) 但是在遵循这些步骤并使用剧本之后,我发现了这个错误 TASK [Pull default Docker image] *********************
- 我的Ansible版本是:2.5.1
- 我的Python版本是3.6.9
- 我的Linux映像来自以下站点:osbox
TASK [Pull default Docker image] ******************************************************************************************************
fatal: [192.168.1.38]: FAILED! => {"changed": false, "msg": "Unsupported parameters for (docker_image) module: source Supported parameters include: api_version, archive_path, buildargs, cacert_path, cert_path, container_limits, debug, docker_host, dockerfile, filter_logger, force, http_timeout, key_path, load_path, name, nocache, path, pull, push, repository, rm, ssl_version, state, tag, timeout, tls, tls_hostname, tls_verify, use_tls"}
我很高兴得到您在这个问题上的支持。根据Ansible module
docker\u image
中的错误消息,似乎使用了一个参数,但该参数不是为该模块实现的参数的一部分(尚未)。此外,错误消息已列出可用的参数。和以前一样
另一个可能的原因可能是某些参数的行缩进不正确。添加了
source:pull
选项。由于您使用的是Ansible 2.5.1,因此该选项不可用
您可以使用更高版本2.8或更高版本,也可以从playbook中删除该行,它应该可以工作:
- name: Pull default Docker image
docker_image:
name: "{{ default_container_image }}"
您不能保证图像是从注册表中新提取的。如果这对您的情况很重要,您可以先删除映像的任何本地缓存版本:
- name: Remove Docker image
docker_image:
name: "{{ default_container_image }}"
state: absent
- name: Pull default Docker image
docker_image:
name: "{{ default_container_image }}"
因此,根据Ansible 2.5的模块,确实没有参数source
然而,报告告诉我们它已经“添加到2.8中”!因此,您必须更新Ansible版本,才能按原样运行链接的playbook。那是你最好的选择
否则,另一个选择是保留2.5版,只需删除第38行即可
(-) source: pull
但是我不知道2.8之前的默认行为是怎样的,所以我不能夸耀你它会做你期望的事情 终于有了这个剧本来唱了!:) 我做了以下几件事
只需按照我在答案中附加的URL进行操作。谢谢您的回答。我会在谷歌上搜索如何将我的Ansible升级到你提到的版本,希望这能解决我的问题。我会在谷歌上搜索如何将我的Ansible升级到你提到的版本,希望这能解决我的问题。谢谢你花时间回复我的帖子。我将升级Ansible并向您汇报。(我想知道他在视频中使用了哪个版本…:)谢谢你花时间回复我的帖子。我将升级Ansible并向您汇报。感谢您抽出时间回复我的帖子。我将升级Ansible并向您汇报。(我想知道他在视频中使用了哪个版本…:)