2016-10-11 2 views
0

У меня возникла проблема с помощью команды ansible docker_container.Команда Ansible docker_container не работает без вывода

- name: Start Docker 
    docker_container: 
    name: postgres 
    image: "centos/postgresql-94-centos7" 
    state: started 
    recreate: yes 
    pull: yes 
    env: 
     POSTGRESQL_USER: "test" 
     POSTGRESQL_PASSWORD: "test" 
     POSTGRESQL_DATABASE: "test" 
     POSTGRESQL_MAX_CONNECTIONS: 100 
     POSTGRESQL_SHARED_BUFFERS: 32M 
    exposed_ports: 
     - 5432 
    ports: 
     - 5432:5432 
    become: yes 
    become_method: sudo 

Когда эта команда работает, она загружается в контейнер, но контейнер сразу же выходит с некоторым выходом, что я не могу видеть, потому что анзибль не печатает SYS за что по какой-то причине.

Вот пример какого-то выход, который печатается, когда контейнер отказывается загружаться (из-за неправильную конфигурацию):

$ sudo docker run --name postgres -e POSTGRESQL_USER="test" -p 5432:5432 centos/postgresql-94-centos7 
You must either specify the following environment variables: 
    POSTGRESQL_USER (regex: '^[a-zA-Z_][a-zA-Z0-9_]*$') 
    POSTGRESQL_PASSWORD (regex: '^[[email protected]#$%^&*()-=<>,.?;:|]+$') 
    POSTGRESQL_DATABASE (regex: '^[a-zA-Z_][a-zA-Z0-9_]*$') 
Or the following environment variable: 
    POSTGRESQL_ADMIN_PASSWORD (regex: '^[[email protected]#$%^&*()-=<>,.?;:|]+$') 
Or both. 
Optional settings: 
    POSTGRESQL_MAX_CONNECTIONS (default: 100) 
    POSTGRESQL_MAX_PREPARED_TRANSACTIONS (default: 0) 
    POSTGRESQL_SHARED_BUFFERS (default: 32MB) 

For more information see /usr/share/container-scripts/postgresql/README.md 
within the container or visit https://github.com/openshift/postgresql. 

Это выход, что я не вижу, когда я запускаю его из анзибля, его просто говорит об этом (успех), а затем я проверяю docker ps и его нет, потому что предположительно он сразу же вышел. Что более странно, так это то, что я могу заставить это работать нормально с той же конфигурацией, переданной в модуль командной строки, но с docker_container, возможно, это не значит, что он не передает env правильно? Я действительно не уверен, потому что я даже не могу получить ошибку.

ответ

2

Проверить

docker ps -a 

, чтобы увидеть, если анзибль удалось, по крайней мере, создать контейнер. Если это так, проверьте

docker logs postgres 

Надеюсь, это должно дать вам ключ, где он не работает. Если вы в замешательстве с этим, возможно, вы можете опубликовать некоторые из (отредактированных) журналов, чтобы показать, где он не работает?

Смежные вопросы