我有一個通過bash供應與vagrant建立的虛擬機。無法從虛擬機訪問碼頭容器中的postgresql
我嘗試安裝一組應用程序和工具,在啓動時會將虛擬機啓動,並且其中一些需要PostgreSQL數據庫。我剝了下來提供階段只包括必要的部分:
install.sh:
function installPostgresql() {
docker pull postgres:9.4
docker run --name dbcontainer -e POSTGRES_PASSWORD=$POSTGRES_PASSWORD -e POSTGRES_DB=dbname -e POSTGTES_HOST=localhost -d postgres
}
...
installPostgresql
它使用PostgreSQL的創建默認廣泛使用的碼頭工人的形象。我從中央存儲庫中提取它之後啓動它。
出於某種原因,我無法訪問正在運行的Postgres的服務我的虛擬機裏面,但我CAN連接,如果我上運行的泊塢窗執行/斌/ bash和使用虛擬機裏面的泊塢窗內PSQL。
內部VM:
[email protected]:~$ psql -h localhost -p 5432 -U postgres -W
Password for user postgres:
psql: could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
裏面的虛擬機內泊塢窗:
[email protected]:/# psql -h localhost -p 5432 -U postgres -W
Password for user postgres:
psql (9.5.2)
Type "help" for help.
postgres=#
的pg_hba.conf:
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
host all all 0.0.0.0/0 md5
爲什麼它是在虛擬機內部的docker中工作,但不是從VM中「只」運行?