172 похожих чатов

Всем привет! кто-нибудь в курсе, как сделать в докерфайле вот

такое?


USER $(whoami)


через ENV, ARG не работает

23 ответов

16 просмотров

А зачем?

Alexey-Romanov Автор вопроса
Ilia Koteikin
А зачем?

это как пример, нужно именно заезекьютить команду баша для USER конкретно хочу USER  задавать через  gid  и  uid созданного юзера, типа такого: USER $(id -u username):$(id -g username)

как именно не работает? Собственно только так и можно какую-то динамику в USER внести

Alexey-Romanov Автор вопроса
Ilia Koteikin
А зачем?

проблемы с кубером, ему надо скармливать только в таком формате

Alexey-Romanov Автор вопроса
Vladimir Chernyshev
как именно не работает? Собственно только так и мо...

насколько я понимаю, ARG и ENV не могут воспроизводить баш команды, типа такого ENV MYVAR=$(whoami)

Alexey Romanov
насколько я понимаю, ARG и ENV не могут воспроизво...

не могут, или хадкод или извне передавать при билде

Alexey-Romanov Автор вопроса
Ilia Koteikin
При чём тут кубе и докерфайл?

результирующий имадж используется в кубере

Alexey Romanov
результирующий имадж используется в кубере

.spec.securityContext.runAsUser — This field specifies the User ID (UID) with which to run the Entrypoint (default executable of the image) of the container process. If the field value is not specified, it defaults to the UID defined in the image metadata.

Alexey-Romanov Автор вопроса
Ilia Koteikin
.spec.securityContext.runAsUser — This field speci...

а у меня нет никакого доступа к настройкам кубера, отдают имадж и уже другие люди его используют

Alexey-Romanov Автор вопроса
Ilia Koteikin
Тебе нужно какие то любые ID задать?

создается юзер и группа, тоже в докерфайле, мне надо вытащить  uid и gid  которые им присвоились. но при этом нельзя подсовывать какие то свои значения в  useradd и  groupadd  при создании

Alexey Romanov
создается юзер и группа, тоже в докерфайле, мне на...

А те кто задачу ставил уверены что это реалезуемо в Dockerfile ?

Alexey Romanov
нет, я вот и выясняю)

Мне даже интересно, почему нельзя свои ID подсунуть

Alexey Romanov
создается юзер и группа, тоже в докерфайле, мне на...

В Докерфайле ты можешь создать юзера и скачать с внешнего сервера файл. По идее ты можешь грепнуть /etc/passwd найти id твоего юзера (имя то известно?) и послать на сервер или выложить куданить. Не?

Oleksij Kyslytsja
В Докерфайле ты можешь создать юзера и скачать с в...

Ну если надо прокинуть юзера с локального хоста в контейнер то там всё просто FROM ubuntu:xenial-20170214 ARG UNAME=testuser ARG UID=1000 ARG GID=1000 RUN groupadd -g $GID -o $UNAME RUN useradd -m -u $UID -g $GID -o -s /bin/bash $UNAME USER $UNAME CMD /bin/bash docker build --build-arg UID=$(id -u) --build-arg GID=$(id -g) \ -f bb.dockerfile -t testimg .

Alexey Romanov
это как пример, нужно именно заезекьютить команду ...

> USER $(id -u username):$(id -g username) Так сделать нельзя. Юзверь указывается рантаймом в момент запуска контейнера через сисколлы setuid и setgid. Все это делается вне шелла, естественно, поэтому всякие шеловские хрени как у вас не не работают. Чтобы пускать под нужным юзверем контейнер - надо указывать юзверя рантайму. Для докера - это —user флаг. В кубе это runasuser в сесурити контексте.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта