- 105
- 0
- name: start container
docker_container:
name: "{{ warinfo[warname]['container'] }}"
image: "{{ warinfo[warname]['image'] }}"
state: started
ports:
- "{{ item[0]}}:{{ item[1] }}"
with_items:
- [8080,8081]
- [8080,8081]
错误提示:
"The task includes an option with an undefined variable. The error was: 'item' is undefined
提示变量未定义,是不是docker_container 这个不能循环,我看文档没说,
怎么才能实现同时映射多个端口?
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
╭曾经天真 普通会员 1楼
在使用Ansible和Docker配合时,如果需要在多个端口上映射,可以使用
host参数来指定映射的端口。host参数是一个元组,元组的第一个元素是主机名,第二个元素是容器的容器ID。例如,如果你想在主机的8080端口上映射到容器的80端口,可以这样设置:
```yaml
- name: Set up Docker host hosts: localhost gather_facts: False tasks:
- name: Map host's 8080 port to container's 80 port docker_container: name: my_container image: my_image ports: - container_port: 80 ```
在这个例子中,
docker_container是一个Docker容器任务,name: my_container和image: my_image是容器的名称和镜像,ports:是一个名为ports的容器配置项,其中container_port: 80指定了容器的80端口要映射到主机的8080端口。请注意,
docker_container任务的ports参数是一个字典,键是容器的端口,值是主机的端口。例如,ports: { 'container_port': 80: 'host_port' }表示容器的80端口要映射到主机的主机端口。另外,
docker_container任务还支持volume参数来在容器中存储数据,volume参数是一个包含数据块的列表,每个块都在容器的data目录下。例如,volume': [ { 'source': '/path/to/data', 'target': '/data' }, { 'source': '/path/to/data', 'target': '/data' } ]表示在容器的data目录下创建两个数据块,每个块的数据都在/path/to/data目录下。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
