Ansible docker_container命令失败,无输出

我在这里遇到了一个问题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 

当这个命令运行时,它启动容器,但是容器立即退出,出现一些我看不到的输出,因为ansible由于某种原因不打印sys。

下面是当容器拒绝启动时(由于configuration不正确)打印的一些输出的示例:

 $ 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: '^[a-zA-Z0-9_~!@#$%^&*()-=<>,.?;:|]+$') POSTGRESQL_DATABASE (regex: '^[a-zA-Z_][a-zA-Z0-9_]*$') Or the following environment variable: POSTGRESQL_ADMIN_PASSWORD (regex: '^[a-zA-Z0-9_~!@#$%^&*()-=<>,.?;:|]+$') 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. 

这是我从没有看到的输出,当我从运行它时,它只是说它(成功),然后我检查dockerps和它不起来,因为它大概立即退出。 更奇怪的是,我可以用相同的configuration传递给ansible命令模块,但是使用docker_container也许它没有正确传递env就可以得到这个工作。 我真的不知道,因为我甚至不能得到错误输出。

检查

 docker ps -a 

看是否有能力设法至less创造容器。 如果是,请检查

 docker logs postgres 

希望这应该给你一个线索失败的线索。 如果你感到困惑,也许你可以发布一些(编辑)日志来显示它失败的地方?