AssignProcessToJobObject перестал работать с ошибкой “Доступа запрещен” при выполнении под отладчиком

Простой способ извлечь выгоду из кэша слоя изображения - создать базовое изображение только с первым слоем.

Затем используйте FROM в других ваших Dockerfiles.

Таким образом, дисковое пространство будет сэкономлено, так как несколько изображений будут использовать один и тот же слой, а сборка будет быстрее.

База файлов Docker:

FROM scratch
ADD ./system.tar.gz /
docker build -f Dockerfile-base -t base .

Dockerfile-1:

FROM base
COPY ./somefiles /
docker build -f Dockerfile-1 -t image1 .

Dockerfile-2:

FROM base
COPY ./otherfiles /
docker build -f Dockerfile-2 -t image2 .

Рекомендуемые чтения

Рекомендации по написанию Dockerfiles. § Использование кэша сборки [117 ]

20
задан 1800 INFORMATION 18 September 2008 в 02:52
поделиться

1 ответ

Этот озадачил меня для в течение приблизительно 30 минут.

Прежде всего, Вам, вероятно, нужна декларация контроля учётных записей, встроенная в Ваше приложение (, как предложено здесь ). Что-то вроде этого:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <!-- Identify the application security requirements. -->
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
      <security>
        <requestedPrivileges>
          <requestedExecutionLevel
            level="asInvoker"
            uiAccess="false"/>
        </requestedPrivileges>
      </security>
    </trustInfo>
  </assembly>

, Во-вторых (и это - бит, я застрял на), когда Вы запускаете свое приложение под отладчиком, оно создает Ваш процесс в объекте задания. То, которое Ваш дочерний процесс должен смочь к отходу до Вас, может присвоить его Вашему заданию. Так (понятное дело) необходимо указать CREATE_BREAKAWAY_FROM_JOB во флагах для CreateProcess).

, Если бы Вы не работали под отладчиком или Вашим родительским процессом, были в задании, этого не произошло бы.

21
ответ дан 30 November 2019 в 00:52
поделиться