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 ответов

7 просмотров

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
10
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
Есть предложения, как подобное можно упростить?
Hemul GM
12
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
У меня вопросик назрел. Почему, создав класс без наследования и реализации деструктора Destroy, деструктор не вызывался при free. Потом указал наследование от tobject и overri...
Сергей Бычков
9
@y0zhig @shizzard А можно я опишу цель и может вообще ерланг мне не подходит. На текущий момент как я понимаю у ерланга есть легковесные потоки и задача выполняется в каком т...
Дмитрий Спиридонов
5
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
just use free version ?? pycharm has a free version
Fan / Ac
9
Карта сайта