【问题标题】:Docker-Compose : Multiple services from local images with the same DockerfileDocker-Compose :来自具有相同 Dockerfile 的本地映像的多个服务
【发布时间】:2020-12-23 16:08:04
【问题描述】:

我有两个服务,每个服务都在其 on 文件夹中:一个名为 employees-service 的文件夹和另一个名为 clients-service 的文件夹。

另外,我有一个 docker-compose.yaml 文件和一个 Dockerfile ,在同一路径中。

文件夹结构为:

docker-compose 是:

version: "3"
services:
  employees_srv:
    container_name: EmployeesContainer
    build: 
      context: ./employees-service
      dockerfile: ./Dockerfile
    ports:
      - "4444:4444"
      
  clients_srv:
    container_name: ClientsContainer
    build:
      context: ./clients-service
      dockerfile: ./Dockerfile
    ports:
      - "5555:5555"    

当我点击docker-compose up 我得到:

ERROR: The Compose file './docker-compose.yaml' is invalid because:
Unsupported config option for services.employees-service: 'dockerfile'
Unsupported config option for services.clients_srv: 'dockerfile'

如何使用相同的 Dockerfile 运行服务?

【问题讨论】:

  • 目录employees-serviceclients-service的内容是什么? Dockerfile 在构建时是否需要。我认为dockerfile 配置的目的是使用位于同一目录中的备用Dockerfile(例如,如果您在同一目录中添加Dockerfile-employeesDockerfile-clients),因此它相对于context目录context 目录是发送到 Docker 守护进程的上下文。

标签: javascript docker docker-compose yaml dockerfile


【解决方案1】:

根据documentation

  • context:构建发送到 Docker 守护进程的上下文。
  • dockerfile:备用 Dockerfile(如果构建必须使用与 context 目录中的 Dockerfile 不同的文件)。

我不明白Dockerfile构建时 是否需要这些目录(employees-serviceclients-service)。 如果是这种情况,我不知道构建将如何以相同的方式与一个目录或另一个目录一起工作。

如果您想让这些目录之一在运行时可用,您应该查看volumes

version: "3"
services:
  employees_srv:
    container_name: EmployeesContainer
    build: 
      context: .
    ports:
      - "4444:4444"
    volumes:
      - ./employees-service:/target/in_the_container
      
  clients_srv:
    container_name: ClientsContainer
    build:
      context: .
    ports:
      - "5555:5555"
    volumes:
      - clients-service:/target/in_the_container

【讨论】:

    猜你喜欢
    • 2017-12-12
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 2023-01-19
    • 2020-12-04
    • 1970-01-01
    • 1970-01-01
    • 2018-08-29
    相关资源
    最近更新 更多