
Leon
23.06.2019
19:07:59

George
23.06.2019
19:10:04
netstat -tlpn на хост машине запусти. Может ты постгрес установил в основную систему...

Leon
23.06.2019
19:10:41
Не / в докер

Google

Leon
23.06.2019
19:10:48
Я уже запускал
Но ща не хочет
(

Erich
24.06.2019
05:05:49
глянь что за процесс занял порт

Кана
24.06.2019
11:57:53
Ребят подскажите у меня есть контейнер с nginx и контейнер с пхп. Будет ли норм идеей в пхп контейнере поставить 777 на файлы и папки или чем это чревато?
Чот не могу нормально дать права на папки nginx контейнеру
@smilingnavern
Как думаешь?

Navern
24.06.2019
12:01:08
Что ты пытаешься сделать?

Кана
24.06.2019
12:02:26
У меня есть контейнер nginx в который стучатся запросы. И контейнер пхп. При отправке запросов выходит ошибка, что нет доступа к файлам.
File permissions error
@smilingnavern

Google

Navern
24.06.2019
12:04:29

Кана
24.06.2019
12:04:58
Пхп пишет логи
Логи приложения

Navern
24.06.2019
12:06:08
Ну так сделай имадж так чтобы он писал в стдаут

Кана
24.06.2019
12:06:12
У ларавела в папке storage хранятся логи. Он ща не может их создать изза прав
@smilingnavern я короч выяснил id пользователя в контейнере и дал ему права на хосте. Но чот напрягает что приходится это делать, получается всем кто проект качнет придётся то же самое делать

George
24.06.2019
12:18:09

Navern
24.06.2019
12:18:40
Если ты мапишь с хоста файлики

George
24.06.2019
12:19:24
там с этим есть проблемы
т.к. стандартный образ не делает chown на файлы ВНУТРИ контейнера. Результат - пермишен денайды уже на содержимое контейнера

Navern
24.06.2019
12:21:26
Но да это все костыли и хрупкие причнм

George
24.06.2019
12:21:42
даже не говори
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
вот например штука, которая запускает nginx от пользователя 1000 (обычно тот же юзер, что и на хосте - первый непривилегированный)
вообще стыдно людям такое показывать, ога

Evgeniy
25.06.2019
11:52:21
что то не удается сделать вывод из задач крона в логер докера
dockerfile https://pastebin.com/RWGCLUhV
crontab https://pastebin.com/EDzAFWrL
файлы /magic и /test заполняются логами запуска, а вот вывода в docker-compose logs cron нету
может кто знает в чем причина?

Google

George
25.06.2019
12:00:38
очевидно. Потому что ты делаешь бред.
но если очень хочется использовать крон, то я запретить не могу (

Evgeniy
25.06.2019
12:04:16
я знаю что крон это плохо в докерах но есть проект где надо выполнять периодически команды, какие решения для этого есть ?


George
25.06.2019
12:07:48
я знаю что крон это плохо в докерах но есть проект где надо выполнять периодически команды, какие решения для этого есть ?
5 решений.
1. крон на хосте - в задачу впихиваешь docker exec blablabla (blablabla - твоя команда в твоем контейнере)
2. systemd-timer на хосте (полный аналог крона)
3. написать свой движок - в любом языке программирования есть таймеры, заодно как бонус сможешь выполнять таски не каждую минуту, а хоть каждую секунду
4. если есть внешняя система оркестрации или деплой - можно через него (от нищеты мы часть задач по обсчету раз в сутки запускали через расписание в гитлабе)
5. идеально - куберенетосовский кронджоб (если есть куб)
касательно вывода в stderr - я еще подумаю, что можно сделать

Evgeniy
25.06.2019
12:09:35
надо писать в /proc/1/fd/0|1

George
25.06.2019
12:10:12
выглядит как костыли все равно

Evgeniy
25.06.2019
12:10:28
потому что /dev/stdout symliny на /proc/self/fd/0 а self это симлинк на 876 в моем текущем запуске
а надо слать на 1 pid
по другим пунктам делать это на хосте это еще хуже
докер это инструмент по запуску процессов в одинаковом окружение, cron - такой же процесс просто написан очень давно
и неудобство запуска крона связано с тем что нормально докер от конфигурить мало человек может

George
25.06.2019
12:12:09
ну, здесь тебе самому надо решить, что является для тебя куском окружения ?
я тебе более того скажу - докер нИ НУЖЕН

Evgeniy
25.06.2019
12:12:49
я же не просто крон пускаю
крон контейнер это часть сервиса

George
25.06.2019
12:13:06
в системди прекрасно все засовывается

Evgeniy
25.06.2019
12:13:22
а разница между systemd и cron ?

George
25.06.2019
12:13:25
просто докер это про "а давайте мы весь мусор засунен в контейнер и у нас не будет болеть голова"

Evgeniy
25.06.2019
12:14:03

Google

Admin
ERROR: S client not available

George
25.06.2019
12:14:16
ну, systemd дает больше чем докер - порядок запуска сервисов и пр. Единственная проблема, что он как раковая опухоль пророс во все кусочки линукса (в нем свой резолвер, свой днс, свой крон)

Evgeniy
25.06.2019
12:14:46

George
25.06.2019
12:14:46

Evgeniy
25.06.2019
12:14:56
если там всего один pid будет ?

George
25.06.2019
12:15:01
самый вопиющий случай - это вольюмы (:z/:Z на центос надо прописывать, на убунте - не надо)

Evgeniy
25.06.2019
12:15:13
какой может быть порядок запуска сервисов если всего один процесс ?

George
25.06.2019
12:15:15

Evgeniy
25.06.2019
12:15:36
куда вас понесло

George
25.06.2019
12:15:54
это как пример того, что и да, и нет - окружение все равно изолируется не полностью

Evgeniy
25.06.2019
12:16:58
помойму от конкретной ситуации вас очень далеко понесло
и вместо ответа "очевидно"

George
25.06.2019
12:17:26
просто так и напиши, что считаешь, что я докер не осилил ?

Evgeniy
25.06.2019
12:17:29
можно было написать что логи надо писать в /proc/1/fd/0 например

Maksim
26.06.2019
12:34:44
Привет
Ловлю регулярно проблему что контейнер с nginx перестает принимать соединения
Только перезапуск спасает
Причем я могу зайти внуть контейнера без проблем, проблем с памятью и процом особо нет
# docker-compose exec nginx /bin/sh
/ # ps ax
PID USER TIME COMMAND
1 root 0:00 nginx: master process nginx -g daemon off;
27 nginx 0:01 nginx: worker process
28 nginx 0:00 nginx: worker process
34 nginx 0:00 nginx: worker process
35 nginx 0:00 nginx: worker process
36 root 0:00 /bin/sh
41 root 0:00 ps ax
/ # nginx -s reload
только перезапуск

Artem
26.06.2019
12:37:52
тоже такое было, пришлось перевести контейнер в network_mode: host
а в чем собственно проблема, хз

Google

Artem
26.06.2019
12:40:10
тоже хотел бы узнать

Maksim
26.06.2019
12:55:08
Он у меня выступает в роли балансировщика
version: "3.5"
services:
nginx:
image: nginx:alpine
container_name: nginx
ports:
- target: 80
published: 80
protocol: tcp
mode: host
- target: 443
published: 443
protocol: tcp
mode: host
volumes:
- ./docker/nginx/etc/nginx/nginx.conf:/etc/nginx/nginx.conf
- ./docker/nginx/etc/nginx/conf.d:/etc/nginx/conf.d
networks:
- frontend_network
networks:
frontend_network:
external: true
всё достаточно тривиально
блин, selinux включен

Evgeniy
26.06.2019
13:16:20
у меня тоже некоторые чудеса бывают, только я traefik юзаю для балансировки

George
26.06.2019
13:16:50

LEXASOFT
26.06.2019
14:11:10
у сворма же нет mode host