Size: a a a

RU.Docker — Официальное Русское Сообщество

2019 June 24

N

Navern in RU.Docker — Официальное Русское Сообщество
Кана
@smilingnavern я короч выяснил id пользователя в контейнере и дал ему права на хосте. Но чот напрягает что приходится это делать, получается всем кто проект качнет придётся то же самое делать
Можно указывать при старте контейнера с каким уидом запуститься внутри
источник

N

Navern in RU.Docker — Официальное Русское Сообщество
Если ты мапишь с хоста файлики
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
там с этим есть проблемы
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
т.к. стандартный образ не делает chown на файлы ВНУТРИ контейнера. Результат - пермишен денайды уже на содержимое контейнера
источник

N

Navern in RU.Docker — Официальное Русское Сообщество
George Gaál
т.к. стандартный образ не делает chown на файлы ВНУТРИ контейнера. Результат - пермишен денайды уже на содержимое контейнера
Ты должен это в имадже подпереть и зафиксировать там уид
источник

N

Navern in RU.Docker — Официальное Русское Сообщество
Но да это все костыли и хрупкие причнм
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
даже не говори
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
FROM nginx:1.15.12-alpine

RUN apk add --no-cache tzdata shadow
ENV TZ Europe/Moscow

RUN usermod -u 1000 nginx && \
 touch /var/run/nginx.pid && \
 chown -R nginx:nginx /var/run/nginx.pid && \
 chown -R nginx:nginx /var/cache/nginx && \
 chown -R nginx:nginx /var/log/nginx && \
 rm /var/log/nginx/access.log && \
 rm /var/log/nginx/error.log


USER nginx

RUN   touch /var/log/nginx/access.log && \
     touch /var/log/nginx/error.log
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
вот например штука, которая запускает nginx от пользователя 1000 (обычно тот же юзер, что и на хосте - первый непривилегированный)
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
вообще стыдно людям такое показывать, ога
источник
2019 June 25

EK

Evgeniy Kuvshinov in RU.Docker — Официальное Русское Сообщество
что то не удается сделать вывод из задач крона в логер докера
dockerfile https://pastebin.com/RWGCLUhV
crontab https://pastebin.com/EDzAFWrL

файлы и заполняются логами запуска, а вот вывода в docker-compose logs cron нету
может кто знает в чем причина?
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
очевидно. Потому что ты делаешь бред.
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
но если очень хочется использовать крон, то я запретить не могу (
источник

EK

Evgeniy Kuvshinov in RU.Docker — Официальное Русское Сообщество
я знаю что крон это плохо в докерах но есть проект где надо выполнять периодически команды, какие решения для этого есть ?
источник

EK

Evgeniy Kuvshinov in RU.Docker — Официальное Русское Сообщество
George Gaál
очевидно. Потому что ты делаешь бред.
в чем именно заключается очевидность что команда echo "magic" >> /dev/stdout не выводится в логе ? убирая крон из списка
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
Evgeniy Kuvshinov
я знаю что крон это плохо в докерах но есть проект где надо выполнять периодически команды, какие решения для этого есть ?
5 решений.
1. крон на хосте - в задачу впихиваешь docker exec blablabla (blablabla - твоя команда в твоем контейнере)
2. systemd-timer на хосте (полный аналог крона)
3. написать свой движок - в любом языке программирования есть таймеры, заодно как бонус сможешь выполнять таски не каждую минуту, а хоть каждую секунду
4. если есть внешняя система оркестрации или деплой - можно через него (от нищеты мы часть задач по обсчету раз в сутки запускали через расписание в гитлабе)
5. идеально - куберенетосовский кронджоб (если есть куб)
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
касательно вывода в stderr - я еще подумаю, что можно сделать
источник

EK

Evgeniy Kuvshinov in RU.Docker — Официальное Русское Сообщество
George Gaál
касательно вывода в stderr - я еще подумаю, что можно сделать
я уже знаю
источник

EK

Evgeniy Kuvshinov in RU.Docker — Официальное Русское Сообщество
надо писать в /proc/1/fd/0|1
источник

GG

George Gaál in RU.Docker — Официальное Русское Сообщество
выглядит как костыли все равно
источник