Ansible:使用docker_network添加IP?

n3h0vuf2  于 2023-04-29  发布在  Docker
关注(0)|答案(1)|浏览(111)

是否有可能或有解决方案将网络添加到现有的Docker容器中?
以下是我目前找到的解决方案:

- name: Add network
  docker_network:
    name: network_nextcloud
    connected:
      - openldap_app
    appends: yes
  when: OPENLDAP_MAP_WITH_NEXTCLOUD == "yes"

上面的解决方案工作,但我想如果可能的话,设置一个ip到它,而不通过docker_container模块。
您有任何解决方案吗?

rsaldnfx

rsaldnfx1#

我找到解决办法了。
事实上,我通过vars_prompt询问是否有必要将容器集成到新网络中。

- name: Docker install OpenLDAP
  connection: local
  hosts: all
  vars_prompt:
    - name: OPENLDAP_MAP_WITH_NEXTCLOUD 
      prompt: Do you want map with Nextcloud (yes/no)
      private: no
      defaults: "{{ OPENLDAP_MAP_WITH_NEXTCLOUD }}" # Defined in <ROLE>/defaults/main.yml
  roles:
    - docker_install_openldap

实际上,如果我们使用命令:docker network connect --ip ...在手册中,使用的模块不是docker_network而是**docker_container**。..
我附上下面的一块代码,为我工作:

- name: Add network
  docker_container:
    name: openldap_app
    networks:
      - name: network_nextcloud
        ipv4_address: "{{ NEXTCLOUD_IP_OPENLDAP }}"
        aliases:
          - openldap_aapp
    appends: yes
  when: OPENLDAP_MAP_WITH_NEXTCLOUD == "yes"

谢谢你!@大卫迷宫

相关问题