когда я использую пользователя root в Dockerfile, создаю отчет об изображении "должен быть пользователем root" - PullRequest
0 голосов
/ 09 апреля 2019

Мой Dockerfile выглядит так:

FROM percona/percona-xtradb-cluster-operator:0.3.0-proxysql
USER root
RUN chmod 0777 /var/lib/rpm/.dbenv.lock

Когда я запускаю docker build, это вывод:

Sending build context to Docker daemon  128.9MB
Step 1/4 : FROM percona/percona-xtradb-cluster-operator:0.3.0-proxysql
# Executing 1 build trigger
 ---> Running in 5a04ebd04891
Loaded plugins: fastestmirror, ovl
ovl: Error while doing RPMdb copy-up:
[Errno 13] Permission denied: '/var/lib/rpm/.dbenv.lock'
You need to be root to perform this command.

Почему он говорит You need to be root, хотя я устанавливаю USER root в Dockerfile?

Ответы [ 2 ]

0 голосов
/ 09 апреля 2019

Родительское изображение может содержать инструкцию ONBUILD, которую WILL запускает в контексте пользователя, установленного командой USER в родительском изображении. К сожалению, вы ничего не можете с этим поделать.

Вы можете попытаться создать образ докера percona-xtradb-cluster-operator:0.3.0, клонировав репозиторий percona-xtradb-cluster-operator и изменив файл Dockerfile в папке build. Вы можете изменить USER root, если хотите.

0 голосов
/ 09 апреля 2019

Это не имеет ничего общего с вашим утверждением USER root в Dockerfile.Сборка завершается неудачей на шаге 1 (см. Вывод -> Step 1/4 :), даже если вы измените свой Dockerfile на один слой:

FROM percona/percona-xtradb-cluster-operator:0.3.0-proxysql

вы получите то же самоеошибка.Так что для меня это выглядит так, будто базовое изображение (percona/percona-xtradb-cluster-operator:0.3.0-proxysql) просто сломано.Я могу воспроизвести ошибку.

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