由于您单独运行容器,因此您有不同的选择
在 postgres 容器的网络上运行 django
$ docker run -d ... postgres
<container id>
$ docker run -d ... --net container:<containerid> django
然后django就可以找到postgres了localhost:5432
将 django 和 postgres 作为命名容器运行
$ docker run --name postgresdb -d ... postgres
<container id>
$ docker run -d ... django
现在 django 可以找到 dbpostgresdb:5432
在主机上运行两个容器
$ docker run --net host -d ... postgres
<container id>
$ docker run -d ... --net host django
然后django就可以找到postgres了localhost:5432
在同一网络上运行容器
$ docker network create mynet
$ docker run --name postgresdb --net mynet -d ... postgres
<container id>
$ docker run --net mynet -d ... django
现在 django 可以找到 dbpostgresdb:5432
连接主机IP和映射端口
$ docker run -d -p 32770:5432 .... postgres
$ docker run -d .... django
Django 现在可以连接到数据库<yourdockerhostip>:32770
.
更好的选择是使用运行它docker-compose
。了解更多关于https://docs.docker.com/compose/ https://docs.docker.com/compose/