在介绍性的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 “?''', 请检查下面的评论。 –