Почему ничто не может пометить каталог, созданный с помощью COPY в Dockerfile на Docker Hub? - PullRequest
1 голос
/ 17 апреля 2020

У меня есть несколько проектов, связанных с репозиториями Github, которые основаны на Docker Hub через Dockerfile в каждом проекте. Эта схема работала нормально, но все мои сборки начали давать сбои 100% времени назад. Я пытался отследить это и понял, что на самом деле я ничего не делал , что-то , и проблема, с которой он не справляется, довольно проста c.

Я использую arch linux базовое изображение и копирование источника моего приложения в контейнер, используя что-то вроде:

COPY ./ /src

Затем я перехожу в этот каталог:

WORKDIR /src

Затем я попробуйте собрать программное обеспечение. Обычно это включает в себя запуск ./configure, но это умирает со странной ошибкой, говорящей «Операция не разрешена». Оказывается, это не просто проблема для GNU Make, даже ls не может прочитать каталог ! В частности, каталог, а не вещи внутри него. Я могу запустить RUN ls -l и получить список файлов в источнике, который был скопирован, но я не могу запустить RUN ls -ld, чтобы показать свойства каталога, он умирает так:

Step 17/28 : RUN ls -ald
---> Running in ec8f9f6c3604
ls: cannot access '.': Operation not permitted

Removing intermediate container ec8f9f6c3604
The command '/bin/sh -c ls -ald' returned a non-zero code: 2

I может выполнять различные другие команды, но все, что пытается посмотреть на сам каталог, умирает так. Я даже могу создавать файлы в каталоге.

Обратите внимание, эти же сборки Dockerfile отлично работают на моей локальной системе, используя docker build. Что дает? Чем отличается их построение на Docker Hub?

...