我正在通过https://registry.hub.docker.com/_/postgres/上的官方postgres图像来尝试docker postgres .
在文档中,它运行以下命令并使其工作:
docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres
docker run -it --link some-postgres:postgres --rm postgres sh -c 'exec psql -h "$POSTGRES_PORT_5432_TCP_ADDR" -p "$POSTGRES_PORT_5432_TCP_PORT" -U postgres'
Run Code Online (Sandbox Code Playgroud)
所以我的问题是$ POSTGRES_PORT_5432_TCP_PORT和$ POSTGRES_PORT_5432_TCP_ADDR来自哪里?
duk*_*ody 10
它们可通过Docker链接机制启动到第二个容器.
来自https://docs.docker.com/userguide/dockerlinks/#environment-variables:
当链接两个容器时,Docker将在目标容器中设置一些环境变量,以便能够以编程方式发现与源容器相关的信息.
...
接下来的模式是:
......
- PORT __ADDR将仅包含URL中的IP地址(例如WEBDB_PORT_8080_TCP_ADDR = 172.17.0.82).
- PORT __PORT将只包含URL中的端口号(例如WEBDB_PORT_8080_TCP_PORT = 8080).
归档时间: |
|
查看次数: |
2198 次 |
最近记录: |