我查看了瓶装水的github MD文件以使用docker来使用它,而我遇到了有关postgresql的问题
如果我运行docker-compose run --rm postgres psql
我得到错误
/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
这是我的docker-compose.yml文件中的postgres和psql的配置
postgres:
build: ./tmp
dockerfile: Dockerfile.postgres
hostname: postgres
ports:
- '45432:5432'
psql:
image: postgres:9.4
links:
- postgres
command: 'sh -c ''exec psql -h "localhost" -p "5432" -U postgres'''
这是我的pg_hba.conf文件
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5
我已经在这里待了几天了,任何帮助都将不胜感激!谢谢
这是docker compose的文献记载很少的功能,因为它也使我措手不及。它在文档中。看看是否可以找到它。
链接两个容器时,将使用虚拟主机名链接它们。如果检查/etc/hosts
您的psql
联系人,则会发现别名行,postgres {foldername}_postgres_1
其中docker {foldername}
-compose项目的父文件夹名称是。
要使用链接的容器,请使用主机名postgres
。
例如:
psql:
image: postgres:9.4
links:
- postgres
command: 'sh -c ''exec psql -h "postgres" -p "5432" -U postgres'''
您可以配置您的代码库以使用它。如果要在链接容器之外运行代码,只需修改主机/etc/hosts
文件以指向所需的服务即可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句