【发布时间】:2019-10-12 05:19:11
【问题描述】:
我的剧本中有以下任务:
- name: install pg_stat_statements extension in the postgres container
shell: docker exec octopus_postgres_{{ group_id }} /bin/bash -c 'psql -h localhost -U postgres -p 5433 -c "CREATE EXTENSION pg_stat_statements;"' # && service postgres restart')"
async: 10
poll: 0
一旦我运行剧本,这个任务似乎成功完成,但如果我检查 postgres 数据库 - 它没有任何变化。任务实际上并没有奏效。
如果我通过 bash 在主机上手动运行上述命令,一切正常,数据库也会更新,如下所示:
docker exec octopus_postgres_iaa /bin/bash -c 'psql -h localhost -U postgres -p 5433 -c "CREATE EXTENSION pg_stat_statements;"'
在尝试检查任务出了什么问题时,我尝试了以下操作:
- name: install pg_stat_statements extension in the postgres container
shell: docker exec octopus_postgres_{{ group_id }} /bin/bash -c 'touch /1 && psql -h localhost -U postgres -p 5433 -c "CREATE EXTENSION pg_stat_statements;" && touch /2' # && service postgres restart')"
async: 10
poll: 0
我注意到文件/1确实已在容器内创建,但文件/2还没有...
命令有什么问题?
【问题讨论】:
标签: bash postgresql docker ansible