docker - 启动Docker容器的几个端口

标签 docker ansible

我需要使用以下几个端口映射启动docker容器:

- name: Run My container
  docker_container:
    name: "MyContainer"
    image: "MyImage"
    state: present
    pull: true
    restart_policy: always
    published_ports:
      - 1200:1200
      - 1201:1201
      - 1202:1202
      - 1203:1203
      .
      .
      .
      - 1300:1300

我想要做的是将Ansible脚本运行为:
- name: Run My container
  docker_container:
    name: "MyContainer"
    image: "MyImage"
    state: present
    pull: true
    restart_policy: always
    published_ports:
      - 1200-1300:1200-1300

虽然,这不起作用,但Ansible会给我以下错误消息:
File \"/tmp/ansible_8zDYC9/ansible_module_docker_container.py\", line 987, in _parse_publish_ports\r\n container_port = int(parts[-1])\r\nValueError: invalid literal for int() with base 10: '1200-1300'
是否可以在同一行中映射主机和容器之间的多个端口?

PS:我正在使用Ansible 2.3

最佳答案

我不确定是否有结论,但是您需要将端口设置为双引号,如下所示:
“1200-1300:1200-1300”

关于docker - 启动Docker容器的几个端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49815722/

相关文章:

使用 play 标签运行的 ansible playbook 会收集事实,即使收集的事实设置为 'no'

bash - 如何在 Ansible 中将 shell 函数作为命令运行?

ansible - ansible playbook中when条件中的多个值

installation - 已建立的连接被主机 Docker 中的软件中止

linux - Windows 主机与 Linux Docker 容器之间的通信

docker - 为什么 Loki 的 Docker Driver Client 在一段时间后停止记录?

ansible - 如何在 Ansible 中获取主机私有(private)网络地址

python - 在 Docker 容器中运行图形进程,分离并重新连接到正在运行的 GUI

ruby - 通过Jenkins上的嵌套Docker容器进行端口转发

ansible - 使用 lineinfile 插入行但未按预期工作