gpt4 book ai didi

docker - Ansible docker_container 命令失败且没有输出

转载 作者:行者123 更新时间:2023-12-02 20:50:07 26 4
gpt4 key购买 nike

我在这里遇到了 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

当此命令运行时,它会启动容器,但容器会立即退出,并显示一些我看不到的输出,因为 ansible 出于某种原因没有打印出 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: '^[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.

这是我从 ansible 运行它时看不到的输出,它只是说它启动(成功)然后我检查 docker ps 并且它没有启动,因为大概它立即退出了。更奇怪的是,我可以使用传递给 ansible 命令模块的相同配置使其正常工作,但是使用 docker_container 可能它没有正确传递 env?我真的不确定,因为我什至无法获得错误输出。

最佳答案

查看

docker ps -a

看看 ansible 是否设法至少创建了容器。如果有,请检查
docker logs postgres

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

关于docker - Ansible docker_container 命令失败且没有输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39982175/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com