- 只需利用用户定义的桥接网络即可。首先,通过阅读有关Docker中不同类型网络的简短说明来利用您的知识:https
- //docs.docker.com/network/bridge/
其次,定义自己的网络
docker network create foo
接下来,运行 连接 到该网络的容器:
docker run --rm --env-file /path/to/variables -d --network foo django_app:testdocker run --rm -d ... --network foo postgres:alpine ...
注意两个命令
--network foo。同样,在这种情况下,您也不 需要 公开端口-在用户定义的网络内,它是自动完成的:
连接到同一用户定义的网桥网络的容器会自动将所有端口彼此公开,而不会向外界公开任何端口。这使容器化的应用程序可以轻松地彼此通信,而不会意外打开对外界的访问。
第三,为您的容器提供易于阅读的主机名
--name bar
docker run ... --network foo --name my-django django_app:test ...docker run ... --network foo --name my-postgres postgres:alpine ...
最后修复连接字符串-从更改
localhost为容器名称,例如
my-postgres:
...POSTGRES_HOST=my-postgres...



