繁体   English   中英

网络来自 docker-compose

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM