我们创建了一个包含多个服务的Docker Compose文件。这些服务的镜像是使用“build”配置选项在运行时构建的。相应的Dockerfile在各自的目录中给出。
示例Docker Compose文件...
version: '3'
services:
db2server:
build: ./db2server
ports:
- "50005:50000"
command: ["db2start"]
appruntime:
build: ./appruntime
depends_on:
- db2server
这个Docker Compose文件可以使用docker-compose
命令。
- 镜像是在运行时从
db2server
和appruntime
目录中的Dockerfile构建的。 - 这些镜像被部署在主机上。
但是,当我们尝试在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中堆栈部署期间忽略了“build”配置选项。
我们如何在docker swarm中部署在docker compose文件中定义了“build”选项的这些服务。