Docker Go SDK ImageBuild игнорирует ошибки - PullRequest
0 голосов
/ 21 ноября 2018

Если в моем Dockerfile есть команда COPY, где файл отсутствует, ImageBuild не сообщает об ошибке.

Вот мой Dockerfile:

FROM gcr.io/distroless/base

COPY ap1.repo /etc/yum.repos.d/ap.repo

Вот мой тестовый скрипт

https://gist.github.com/gdanko/94aaf2770f586d0490c3c4a941544c13

Если я запускаю тестовый скрипт с командой COPY, но без файла, ImageBuild не сообщает об ошибке и продолжает работу.Вот выходные данные.

[gdanko@SDGL141bb265b go]$ go run dockerbuild.go 
Tarring => Dockerfile
*** success ***
{0xc0002f6100 linux}

*** ImageBuild output ***
Step 1/2 : FROM gcr.io/distroless/base

Но если я зайду в каталог planB и запущу сборку docker, я в конечном итоге получу ошибку.

[gdanko@SDGL141bb265b planB]$ docker build -t planb .
Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM gcr.io/distroless/base
 ---> 1358ac6604c5
Step 2/2 : COPY ap1.repo /etc/yum.repos.d/ap.repo
COPY failed: stat /var/lib/docker/tmp/docker-builder088607045/ap1.repo: no such file or directory

Теперь, если я коснусь отсутствующего файла,и скрипт, и сборка ручного докера работают правильно.

[gdanko@SDGL141bb265b go]$ touch planB/ap1.repo
[gdanko@SDGL141bb265b go]$ go run dockerbuild.go 
Tarring => Dockerfile
Tarring => ap1.repo
*** success ***
{0xc0002d8380 linux}

*** ImageBuild output ***
Step 1/2 : FROM gcr.io/distroless/base
---> 1358ac6604c5
Step 2/2 : COPY ap1.repo /etc/yum.repos.d/ap.repo
---> 32459dc23e01
---> 32459dc23e01
Successfully built 32459dc23e01
Successfully tagged dummy:latest

И вручную

[gdanko@SDGL141bb265b go]$ cd planB
[gdanko@SDGL141bb265b planB]$ docker build -t planb .
Sending build context to Docker daemon   2.56kB
Step 1/2 : FROM gcr.io/distroless/base
---> 1358ac6604c5
Step 2/2 : COPY ap1.repo /etc/yum.repos.d/ap.repo
 ---> Using cache
 ---> 81d57edf0715
Successfully built 81d57edf0715
Successfully tagged planb:latest

У кого-нибудь была эта проблема ???

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...