擅长:python、mysql、java
<p>在我的例子中,这个问题也可能是由于使用了一个不是postgres的超级用户。开发者在Georgechestra docker组合中选择了用户Georgechestra。
从dockerfile中提取:</p>
<pre><code>environment:
- POSTGRES_USER=georchestra
HEALTHCHECK interval=30s timeout=30s \
CMD pg_isready -U $POSTGRES_USER
</code></pre>
<p>因此,您必须使用选项“-U georchestra”连接到容器</p>
<pre><code>$ docker exec -it docker_database_1 psql -U georchestra
psql (10.5 (Debian 10.5-1.pgdg90+1))
Type "help" for help.
</code></pre>
<p>当然,尝试与用户postgres连接会导致错误:</p>
<pre><code>docker exec -it docker_database_1 psql -U postgres
psql: FATAL: role "postgres" does not exist
</code></pre>