У меня есть следующее Dockerfile
:
FROM docker.m.our-intra.net/microsoft/dotnet:2.1-sdk
WORKDIR /app
COPY . ./aspnetapp/
WORKDIR /app/aspnetapp
RUN dotnet publish -c Release -o out
FROM docker.m.our-intra.net/microsoft/dotnet:2.1.4-aspnetcore-runtime
WORKDIR /app
COPY --from=docker.m.our-intra.net/microsoft/dotnet:2.1-sdk /app/aspnetapp/MyProject.WebApi/out ./
ENTRYPOINT ["dotnet", "MyProject.WebApi.dll"]
Образ успешно собран локально.
Я пытаюсь настроить конвейер Jenkins и пытаюсь построить образ из Jenkinsfile
используя следующий шаг:
stage('Build') {
steps {
script {
echo 'Build...'
sh 'docker build -t mytag:v${BUILD_NUMBER} -f Dockerfile .'
echo 'Build Completed'
}
}
}
Но в консоли Jenkins я получаю сообщение об ошибке:
Неизвестный флаг: с
Как мнеотредактировать мой Dockerfile
, в частности тег --from
, чтобы иметь возможность создавать изображение локально и по конвейеру Jenkins?
ОБНОВЛЕНИЕ: Я обновил Docker до 18.06.1-версия ce.Все еще есть та же ошибка.
Дженкинс вер.2.89.4
Установленный плагин Docker Pipeline версия 1.9.1
ОБНОВЛЕНИЕ 2: Я добавил команду docker version
, чтобы показать версию Docker:
stage('Build') {
steps {
script {
echo 'Build...'
sh 'docker version'
sh 'docker build -t fact:v${BUILD_NUMBER} -f Dockerfile .'
echo 'Build Completed'
}
}
}
И выводит следующее:
Client:
Version: 18.06.1-ce
API version: 1.24 (downgraded from 1.38)
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:25:03 2018
OS/Arch: linux/amd64
Experimental: false
Server:
Engine:
Version: 1.12.6
API version: 1.24 (minimum version )
Go version: go1.8.3
Git commit: 3e8e77d/1.12.6
Built: Wed Dec 13 12:18:58 2017
OS/Arch: linux/amd64
Experimental: false