@ru_docker

Страница 598 из 610
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

Как думаешь?

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

File permissions error

@smilingnavern

Google
Navern
24.06.2019
12:04:29
У меня есть контейнер nginx в который стучатся запросы. И контейнер пхп. При отправке запросов выходит ошибка, что нет доступа к файлам.
Это ничего не говорит мне. У тебя какие то общие файлы которые должен отдавать nginx и php? вряд ли как мне кажется

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

Кана
24.06.2019
12:06:12
У ларавела в папке storage хранятся логи. Он ща не может их создать изза прав

Ну так сделай имадж так чтобы он писал в стдаут
Так ларавел не будет туда писать логи.

@smilingnavern я короч выяснил id пользователя в контейнере и дал ему права на хосте. Но чот напрягает что приходится это делать, получается всем кто проект качнет придётся то же самое делать

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
я знаю что крон это плохо в докерах но есть проект где надо выполнять периодически команды, какие решения для этого есть ?

очевидно. Потому что ты делаешь бред.
в чем именно заключается очевидность что команда echo "magic" >> /dev/stdout не выводится в логе ? убирая крон из списка

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 дает больше чем докер - порядок запуска сервисов и пр. Единственная проблема, что он как раковая опухоль пророс во все кусочки линукса (в нем свой резолвер, свой днс, свой крон)

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
если там всего один pid будет ?
не важно, это докеро-проблемы, а не проблемы приложения внутри

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 например

просто так и напиши, что считаешь, что я докер не осилил ?
да вроде как ваши предложения стартовать systemd который бы определял порядок загрузки сервисов говорит об этом

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 юзаю для балансировки

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

Страница 598 из 610