Запуск скрипта, настроенного в Dockerfile, после запуска контейнера от имени пользователя root - PullRequest
0 голосов
/ 14 мая 2019

Как правильно запустить контейнер от имени пользователя root?

Я пытаюсь запустить скрипт при запуске контейнера.

Ниже приведен запуск скрипта.

#!/bin/sh

[ "$USER" = root ] || { echo "You must run $0 as root."; exit 1; }

Вот содержимое dockerfile.

USER root    
CMD "/service/run-dnscache.sh"

Команда для сборки:

docker build --tag=friendlyhello --no-cache .

При запуске пользователь контейнера не является пользователем root. Как мне запустить его как root?

vpp@VPP1:~/tmp$ docker run -it  --user root friendlyhello
You must run /service/run-dnscache.sh as root.


vpp@VPP1:~/tmp$ docker run -it  friendlyhello
You must run /service/run-dnscache.sh as root.

1 Ответ

1 голос
/ 14 мая 2019

Как правильно запустить контейнер от имени пользователя root?

Пользователь по умолчанию ВНУТРИ контейнера является корневым. Обычно контейнер через демон Docker также запускается от имени пользователя root на хост-компьютере.

Что происходит, когда вы $(whoami) находитесь внутри контейнера при запуске?

...