首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用分子来独立运行对接图像,而不是使用“合成”?

如何用分子来独立运行对接图像,而不是使用“合成”?
EN

Stack Overflow用户
提问于 2021-02-22 09:00:59
回答 2查看 151关注 0票数 1

我有个码头工人。它用公共API定义了1个服务,用另外两个微服务定义了4个服务(复制),每个微服务(一个接收事件,另一个将信息保存到mongo)。当我做“码头装帧”时,这是完美的。但是我想用“码头运行”运行每个图像。

代码语言:javascript
运行
复制
version: "3.3"

services:

  api:
    build:
      context: .
    image: monitor-log-public
    #container_name: monitor-log-public
    env_file: docker-compose.env
    environment:
      SERVICES: api
      PORT: 3000
    #depends_on:
    #  - redis
    labels:
      - "traefik.enable=false"
      - "traefik.http.routers.api-gw.rule=PathPrefix(`/`)"
      - "traefik.http.services.api-gw.loadbalancer.server.port=3000"
    networks:
      - internal
    ports: 
      - 3000:3000

  monitor-1:
    build:
      context: .
    image: monitor-log-monitor-1
    #container_name: monitor-log-logger
    env_file: docker-compose.env
    environment:
      SERVICES: monitor,logs.db
    #depends_on:
    #  - redis
    networks:
      - internal   
      
  monitor-2:
    build:
      context: .
    image: monitor-log-monitor-2
    #container_name: monitor-log-logger
    env_file: docker-compose.env
    environment:
      SERVICES: monitor,logs.db
    #depends_on:
    #  - redis
    networks:
      - internal   

  monitor-3:
    build:
      context: .
    image: monitor-log-monitor-3
    #container_name: monitor-log-logger
    env_file: docker-compose.env
    environment:
      SERVICES: monitor,logs.db
    #depends_on:
    #  - redis
    networks:
      - internal   

  monitor-4:
    build:
      context: .
    image: monitor-log-monitor-4
    #container_name: monitor-log-logger
    env_file: docker-compose.env
    environment:
      SERVICES: monitor,logs.db
    #depends_on:
    #  - redis
    networks:
      - internal   

  #redis:
  #  image: redis:alpine
  #  networks:
  #    - internal

networks:
  internal:
    internal: false

volumes:
  data:

当我做“编写运行监视器-日志-公共”时,执行将以任何理由结束。

代码语言:javascript
运行
复制
c:\temp\monitor-log-image>docker run monitor-log-monitor-1
[2021-02-22T08:51:42.449Z] INFO  b304e268d414-1/BROKER: Moleculer v0.14.12 is starting...
[2021-02-22T08:51:42.451Z] INFO  b304e268d414-1/BROKER: Namespace: <not defined>
[2021-02-22T08:51:42.451Z] INFO  b304e268d414-1/BROKER: Node ID: b304e268d414-1
[2021-02-22T08:51:42.452Z] INFO  b304e268d414-1/REGISTRY: Strategy: RoundRobinStrategy
[2021-02-22T08:51:42.452Z] INFO  b304e268d414-1/REGISTRY: Discoverer: LocalDiscoverer
[2021-02-22T08:51:42.453Z] INFO  b304e268d414-1/BROKER: Serializer: JSONSerializer
[2021-02-22T08:51:42.458Z] INFO  b304e268d414-1/BROKER: Validator: FastestValidator
[2021-02-22T08:51:42.459Z] INFO  b304e268d414-1/BROKER: Registered 13 internal middleware(s).
[2021-02-22T08:51:42.471Z] INFO  b304e268d414-1/REGISTRY: '$node' service is registered.
[2021-02-22T08:51:42.472Z] INFO  b304e268d414-1/$NODE: Service '$node' started.
[2021-02-22T08:51:42.473Z] INFO  b304e268d414-1/BROKER: ✔ ServiceBroker with 1 service(s) is started successfully in 6ms.
[2021-02-22T08:51:42.474Z] INFO  b304e268d414-1/$NODE: Service '$node' stopped.
[2021-02-22T08:51:42.474Z] INFO  b304e268d414-1/BROKER: ServiceBroker is stopped. Good bye.

我可以看到,这个执行不知道需要加载"api“服务,但这是在docker-compose.yaml中定义的,为什么映像不读取呢??

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-22 12:17:35

只需在docker run中设置env即可。

例如。

代码语言:javascript
运行
复制
docker run -e SERVICES="monitor,logs.db" monitor-log-monitor-1
票数 1
EN

Stack Overflow用户

发布于 2022-07-15 09:38:04

只需使用停靠-撰写的选项:

docker-compose up <your_service_name>

例如:

docker-compose up monitor-1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66312669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档