[英]Network from docker-compose
我正在本地运行一个实验,我想启动一个监听几个端口的服务,与 redis 通信,并且可以从外部访问
version: "3.3"
services:
redis:
image: redis
networks:
- office
ports:
- '6379:6379'
workers:
image: workers-image
networks:
- office
environment:
NUM_WORKERS: 10
REDIS_URI: 'redis://redis:6379'
ports:
- '15658-15680:15658-15680'
depends_on:
- redis
我期望能够使用例如127.0.0.1:15660
访问workers
服务,或者最好使用workers.office:15660
之类的东西。
有人可以指出我做错了什么吗?
抱歉,如果在阅读原始帖子后不清楚什么没有按预期工作
在我开始workers
服务后
docker-compose run -e NUM_WORKERS=10 workers
它会监听几个不同的端口。 然后我期待能够得到回应
> curl 127.0.0.1:15660/metrics
curl: (7) Failed to connect to 127.0.0.1 port 15658: Connection refused
要么
> curl workers.host:15658/metrics
curl: (6) Could not resolve host: workers.host
Docker run
不会公开端口,除非您将--service-ports
传递给命令,例如docker-compose run --service-ports -e NUM_WORKERS=10 workers
。
此外,服务端口是在构建容器时创建的,因此如果更改 docker-compose 文件,则必须再次运行docker compose build
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.