【发布时间】:2016-11-18 18:18:35
【问题描述】:
我正在尝试使用以下 docker-compose 文件将结合了 hbase 和 php 模块的遗留系统拆分为两个独立的容器:
version: '2'
services:
php:
image: my-legacy-php
volumes:
- ~/workspace/php:/workspace/php
ports:
- "80:80"
links:
- hbase
hbase:
image: dajobe/hbase
hostname: hbase-docker
ports:
- "43590-44000:43590-44000"
- "8085:8085"
- "2181:2181"
- "8080:8080"
- "16010:16010"
- "9095:9095"
- "9090:9091"
- "16020:16020"
- "16030:16030"
- "60000:60000"
volumes:
- ~/workspace/hbase-docker/data:/data
我正在使用公共hbase-docker 图像,该图像使用端口 9090 进行节俭,而我的旧 php 模块希望通过端口 9091 进行连接。我尝试在 docker-compose.yml 文件中“映射”或“转发”“ 9090:9091" 不缺。我还尝试了 docker-compose 的 expose 属性,但它不需要两个端口(只有一个暴露给其他容器)。我怎么做那个追加?
我希望 hbase 容器的监听端口 9090 从 php 容器(内部)显示为 9091
【问题讨论】:
-
你试过 external_links 吗? docs.docker.com/compose/compose-file
-
端口映射和
expose属性只对容器到主机绑定有效。不适用于内部链接。
标签: docker docker-compose thrift portforwarding