gpt4 book ai didi

docker 群 : 'build' configuration in docker compose file ignored during stack deployment

转载 作者:IT老高 更新时间:2023-10-28 12:44:49 26 4
gpt4 key购买 nike

我们创建了一个包含多个服务的 docker compose 文件。这些服务的图像是使用“构建”配置选项在运行时构建的。相应的 Dockerfile(s) 在各自的目录中给出。

示例 docker compose 文件...

version: '3'
services:
db2server:
build: ./db2server
ports:
- "50005:50000"
command: ["db2start"]
appruntime:
build: ./appruntime
depends_on:
- db2server

此 docker compose 文件可与 docker-compose 命令配合使用。

  • 镜像是从 db2serverappruntime 目录中的 Dockerfile(s) 在运行时构建的
  • 这些镜像部署在主机中

但是当我们尝试在 docker swarm 中部署它时,会抛出以下错误...

docker stack deploy -c /home/docker/docker-compose.yml app

Ignoring unsupported options: build

Creating network app_default
Creating service app_db2server
failed to create service app_db2server: Error response from daemon: rpc error: code = InvalidArgument desc = ContainerSpec: image reference must be provided

在 docker swarm 中的堆栈部署期间似乎忽略了“构建”配置选项。

我们如何在 docker swarm 中部署 docker compose 文件中定义的这些服务(带有构建选项)。

最佳答案

简短的回答是,您不能将 build 命令与 docker stack deploy 一起使用。

来自 docs :

Note: The docker stack command build option is ignored when deploying a stack in swarm mode with a (version 3) Compose file. The docker stack command accepts only pre-built images.

另一种方法是在部署 swarm 集群之前构建 docker 镜像。

使用 docker build创建 docker 镜像的命令;将创建的镜像推送到(公共(public)或私有(private))docker registry;并在您的 docker compose 文件中引用它。

关于 docker 群 : 'build' configuration in docker compose file ignored during stack deployment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48396459/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com