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

ЧЯДНТ? Step 13/29 : RUN useradd -m -s /bin/bash developer --->

Using cache
---> aa69a409f7ee
Step 14/29 : RUN chown -R developer:developer /home/developer
---> Using cache
---> 225efae2ea79
Step 15/29 : RUN chmod -R 755 /home/developer
---> Using cache
---> fa18af1f7537
Step 16/29 : USER developer
---> Using cache
---> b805e25ef801
Step 17/29 : WORKDIR /home/developer
---> Using cache
---> b6bfb7633a39
Step 18/29 : RUN whoami 1>&2
---> Using cache
---> d29577066af7
Step 19/29 : RUN pwd 1>&2
---> Running in 8cdd09ee1403
/home/developer
Removing intermediate container 8cdd09ee1403
---> e274ca167722
Step 20/29 : RUN ls -al 1>&2
---> Running in e072103e7ce3
total 20
drwxr-xr-x 1 root root 4096 Aug 24 21:24 .
drwxr-xr-x 1 root root 4096 Aug 24 21:24 ..
-rwxr-xr-x 1 root root 220 Mar 27 2022 .bash_logout
-rwxr-xr-x 1 root root 3526 Mar 27 2022 .bashrc
-rwxr-xr-x 1 root root 807 Mar 27 2022 .profile
Removing intermediate container e072103e7ce3
---> add6e80a3fbb
Step 21/29 : RUN curl "https://code-server.dev/install.sh" --output install.sh
---> Running in 0f9c997dbd1e
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
Warning: Failed to create the file install.sh: Permission denied


Выглядит так, что WORKDIR /home/developer перезатирает хоум директорию несчастного нового пользователя. Боль-унижение.

9 ответов

18 просмотров

Ну ls же вывел, что владелец папки root

Rei-D. Автор вопроса
Максим Мартынов
Ну ls же вывел, что владелец папки root

Так вот, я о том же. А почему так ­— вот в этом вопрос.

Rei D.
Так вот, я о том же. А почему так ­— вот в этом во...

Весь Dockerfile в студию, и логи сборки без кэша

Rei-D. Автор вопроса
Максим Мартынов
Весь Dockerfile в студию, и логи сборки без кэша

Ща будет смешно... Ставлю я, значит. как полагается, собираться без кэшей, и думаю, что логи-то надо красиво записать. Обнаруживаю, что --progress=plain ничего не делает (т.е., билдкит не включен). Втыкаю DOCKER_BUILDKIT=1 и... образ начинает собираться. Кек.

Насколько я понял - докер уже контейнер, он изолирован от внешних угроз. И там внутри все делается из под рута, что суть антипатерн для "обычных" хостов. зачем тебе внутри конейнера developer? не парься, делай рутом всё

Вадим Шандринов
Насколько я понял - докер уже контейнер, он изолир...

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

Rei-D. Автор вопроса
Вадим Шандринов
Насколько я понял - докер уже контейнер, он изолир...

Да всё – вопрос решён (сам собой). С билдкитом – работает. А юзер мне нужен для того, чтобы пользователь не мог поломать контейнер через фронтенд. Там, в контейнере, подразумевается использование терминала и доступа к файловой системе через фронтенд (и это не баг, а фича, которая мне нужна, но в безопасном виде).

Rei-D. Автор вопроса
Rei D.
Да всё – вопрос решён (сам собой). С билдкитом – р...

Можно, конечно, поднимать по контейнеру с фронтендом на каждый запрос – на это чё-то оверкилл. Хотя... может и нет. Как вариант ещё, можно держать пул таких контейнеров. И поднимать новые, если какой-то вдруг сдох.

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
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
Карта сайта