在介紹性的Docker教程https://docs.docker.com/get-started/part2/#share-your-image中,集裝箱以docker run -p 4000:80 friendlyhello
啓動,容器服務器可按照預期從http://localhost:4000
訪問。 但是,當我試圖在容器中運行的Postgres,與Dockerfile FROM postgres ENV POSTGRES_USER=user-ms ENV POSTGRES_PASSWORD=12345
碼頭集裝箱IP地址差異
和命令docker run -p 5432:5432 user-db
,服務器不能在本地主機只在psql -h 172.17.0.2
訪問。
爲什麼這兩種情況有所不同? 根據https://docs.docker.com/engine/userguide/networking/,默認情況下兩者都應該在網橋中,網關爲172.17.0.1
。第一個例子是如何在本地主機上訪問的?
你會得到什麼錯誤? –
您可以檢查'docker inspect
harshavmb
錯誤是'''psql:無法連接到服務器:沒有這樣的文件或目錄 \t服務器是否在本地運行並接受了在Unix域套接字上的連接 \t「/var/run/postgresql/.s.PGSQL.5432 「?''', 請檢查下面的評論。 –