Ansible Docker: выполнение файла оболочки с контейнером - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть следующая команда Docker:

docker run -d  --name ADMIN_SERVER_TEST1 --network=soa_net --ip=172.16.1.11 -p 7001:7001 -v /Oracle_Volumes/ENVIRONMENTS/TEST1/SOA-Volume/cheetah_domain:/u01/oracle/user_projects   --env-file $ENV_HOME/adminserver-test1.env.list --env-file $ENV_HOME/soaserver-test1.env.list -u root redreply/soa-suite:12.2.1.3 ./dockertools/createDomainAndStart.sh && docker logs -f ADMIN_SERVER_TEST1

Для этой команды я создал следующий скрипт с Ansible:

  - name: Create SOA container
    docker_container:
      name: "{{ name }}"
      image: "{{ image }}"
      detach: yes
      privileged: yes
      user: root
      volumes:
          - "{{ src_vol }}:{{ dest_vol }}"
      ports:
          - 7001:7001
      networks: 
        - name: soa_net
          ipv4_address: "{{ ip }}"
          env_file: 
            - "{{ env_file_1}}"
            - "{{ env_file_2}}"

Но я понятия не имею, как добавить эточасть сценария Ansible:

./dockertools/createDomainAndStart.sh && docker logs -f ADMIN_SERVER_TEST1

1 Ответ

0 голосов
/ 12 декабря 2018

Если вы хотите запустить свой скрипт как command, который запускается в контейнере при запуске, вы можете указать это с помощью атрибута command, например:

  - name: Create SOA container
    docker_container:
      name: "{{ name }}"
      image: "{{ image }}"
      detach: yes
      privileged: yes
      user: root
      command: ./dockertools/createDomainAndStart.sh
      volumes:
          - "{{ src_vol }}:{{ dest_vol }}"
      ports:
          - 7001:7001
      networks: 
        - name: soa_net
          ipv4_address: "{{ ip }}"
          env_file: 
            - "{{ env_file_1}}"
            - "{{ env_file_2}}"

Я в основном добавилатрибут command для вызова сценария ./dockertools/createDomainAndStart.sh при запуске контейнера.

Документация Ansible содержит описание атрибута command:

Команда для выполнения при запуске контейнера.Команда может быть либо строкой, либо списком.До версии 2.4 строки разделялись запятыми.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...