MrM*_*ins 3 django postgresql docker
我有两个容器,第一个带有 a django,第二个带有postgresql.
好吧,在我运行的第一台服务器中django,我正在尝试将它与第二台服务器连接。第二个容器32770暴露了端口,但在端口内部运行5432。在我的本地机器上,我有连接:服务器:'Localhost' 端口:32770 用户:'myuser' 密码:''
它正在连接,但是对于我的django容器,我收到此错误:
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 32770?
Run Code Online (Sandbox Code Playgroud)
端口也会发生同样的情况 5432
如何连接两台服务器?
由于您单独运行容器,因此您有不同的选择
在 postgres 容器网络上运行 django
$ docker run -d ... postgres
<container id>
$ docker run -d ... --net container:<containerid> django
Run Code Online (Sandbox Code Playgroud)
然后django可以找到postgres localhost:5432
运行 django 和 postgres 作为命名容器容器
$ docker run --name postgresdb -d ... postgres
<container id>
$ docker run -d ... django
Run Code Online (Sandbox Code Playgroud)
现在 django 可以找到 db on postgresdb:5432
在主机上运行两个容器
$ docker run --net host -d ... postgres
<container id>
$ docker run -d ... --net host django
Run Code Online (Sandbox Code Playgroud)
然后django可以找到postgres localhost:5432
在同一网络上运行容器
$ docker network create mynet
$ docker run --name postgresdb --net mynet -d ... postgres
<container id>
$ docker run --net mynet -d ... django
Run Code Online (Sandbox Code Playgroud)
现在 django 可以找到 db on postgresdb:5432
连接到主机 IP 和映射端口
$ docker run -d -p 32770:5432 .... postgres
$ docker run -d .... django
Run Code Online (Sandbox Code Playgroud)
Django 现在可以连接到<yourdockerhostip>:32770.
更好的选择是使用docker-compose. 在https://docs.docker.com/compose/上了解更多信息
| 归档时间: |
|
| 查看次数: |
2749 次 |
| 最近记录: |