是否可以将一个 Docker 容器的端口暴露给另一个(或其他几个)容器,而不将其暴露给主机?
是的,您可以将容器链接在一起,并且仅向这些链接的容器公开端口,而无需将端口导出到主机。
例如,如果您有一个运行 postgreSQL db 的 docker 容器:
$ docker run -d --name db training/postgres
Run Code Online (Sandbox Code Playgroud)
您可以链接到运行 Web 应用程序的另一个容器:
$ docker run -d --name web --link db training/webapp python app.py
Run Code Online (Sandbox Code Playgroud)
运行 Web 应用程序的容器将具有一组环境变量,其中包含数据库容器中公开的端口,例如:
DB_PORT_5432_TCP_PORT=5432
Run Code Online (Sandbox Code Playgroud)
环境变量是根据容器名称创建的,在本例中容器名称是 db,因此环境变量以 DB 开头。
您可以在此处的 docker 文档中找到更多详细信息:
https://docs.docker.com/v1.8/userguide/dockerlinks/
| 归档时间: |
|
| 查看次数: |
3693 次 |
| 最近记录: |