У меня проблема с использованием docker-compose build
, но не через docker build
при использовании нестандартного контекста docker. Я делаю что-то неправильно? Или docker -compose не поддерживает контексты должным образом ... или?
Я работаю на ма c с двумя docker контекстами, default
контекст относится к стандартному vm, работающему linux в то время как второй контекст - windows server virtualbox vm. (Я тоже люблю бегать с ножницами ...)
У меня есть Dockerfile
, с которого windows изображение. docker build .
отлично работает при использовании контекста windows. Я создал файл docker-compose.yml
, который пытается обратиться к этому Dockerfile
для построения. docker-compose build
завершается с ошибкой «нет соответствующего манифеста». Это верно независимо от того, в каком контексте я нахожусь.
Вот это Dockerfile
:
FROM mcr.microsoft.com/dotnet/framework/samples:aspnetapp
А в родительском каталоге, файл docker-compose.yml
:
version: '3.7'
services:
web:
build:
context: ./web
А на выходе docker build .
и docker-compose build
и docker version
и docker context ls
11:52:42 ~/proj/k/docker/web (master) $ docker build .
Sending build context to Docker daemon 2.048kB
Step 1/1 : FROM mcr.microsoft.com/dotnet/framework/samples:aspnetapp
---> bd698e59f147
Successfully built bd698e59f147
11:52:45 ~/proj/k/docker/web (master) $ cd ..
11:56:38 ~/proj/k/docker (master) $ docker-compose build
Building web
Step 1/1 : FROM mcr.microsoft.com/dotnet/framework/samples:aspnetapp
aspnetapp: Pulling from dotnet/framework/samples
ERROR: Service 'web' failed to build: no matching manifest for linux/amd64 in the manifest list entries
11:56:43 ~/proj/k/docker (master) $ docker version
Client: Docker Engine - Community
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 633a0ea
Built: Wed Nov 13 07:22:34 2019
OS/Arch: darwin/amd64
Experimental: false
Server: Docker Engine - Enterprise
Engine:
Version: 19.03.5
API version: 1.40 (minimum version 1.24)
Go version: go1.12.12
Git commit: 2ee0c57608
Built: 11/13/2019 07:58:51
OS/Arch: windows/amd64
Experimental: false
11:56:49 ~/proj/k/docker (master) $ docker context ls
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
2019-box * 2019-box windows-docker-machine tcp://192.168.99.90:2376
default Current DOCKER_HOST based configuration unix:///var/run/docker.sock swarm
11:56:52 ~/proj/k/docker (master) $