su
Oleg
Владимир
Ребят, стандартный контейнер nginx:1.17-alpine (+ php-fpm рядом) через раз отдаёт: ошибку File not found или успешно проксирует в fpm. Примантирован volume с директорией через docker-compose, где по факту один index.php. Его то есть - то нет. И так стало в нескольких контейнерах с недавнего времени. Linux Ubuntu 19.04. Кто сталкивался?
SiZE
Владимир
В разных
SiZE
В разных
общая папка в волюме у обоих контейнеров указана?
Владимир
У nginx одна из директорий проекта, у fpm весь корень проекта
SiZE
Владимир
Я могу, но не хочу. Мне в nginx ничего не надо из проекта, кроме точки входа, а так размер увеличится: статика всякая, vendor, точно надо пробовать?
SiZE
размер чего увеличится?
Владимир
Образа
Владимир
Не подумал, да, при локальной разработке примонтирую и ничего не увеличится при CI/CD
Anonymous
Привет, как можно решить такую задачу, мне нужно на уровне хостов сделать редирект с контейнера на другой контейнер. Допустим есть 2 контейнера 1 nginx со второго запросы идут, и когда со 2го контейнера идет запрос на google.com перенаправить его на nginx контейнер
пробовал добавить правило в hosts типо nginx_container google.com но это не работает, я явно что то упускаю
SiZE
George
ты фигню делаешь. По крайней мере в такой формулировке
George
поясни, что ты хочешь делать? логировать запросы? или что? в аналогичном кейсе я тупо squid воткнул и даже не обломался из-за ссл сертификатов
George
да, google.com работает по https
Anonymous
google это для примера
1 контейнер php-fpm 2 php-fpm 3 nginx
- nginx слушает снаружи 80 порт он перенаправляет на 1-2 конейтер(php-fpm) запросы
нужно что бы 1й контейнер послал запрос на 2й контейнер, напрямую нельзя т.к там fast-cgi , поэтму нужно через nginx т.е через 3й контейнер
))
Anonymous
грубо говоря в nginx 2 сервера с 2мя хостнеймами example1 & example2
Владимир
Hello
Всем привет, подскажите новичку: есть контейнер с Postgres 10, туда доставил крон для бэкапирования. Как запускать крон в dockerimage ? На данный момент (скрин) крон не запускается, нужно руками под рутом service cron start
Kamil
не запускать крон в докере
George
George
а бекап ты можешь сделать тупо организовав перекидывание wal
George
копай в сторону postgresprobackup
Hello
Да, забыл дописать, не предлагайте мне "не запускать крон в докере". Путь уже выбран.....
Hello
пока что нет времени делать по красивому, нужно быстренько доделать
George
ты хочешь сделать быстренько, но быстренько не будет - а будет больно
George
самое быстрое - в кронтаб на хосте пихнуть docker exec -it имя_контейнра_с_постгрес pg_dump > файл на хосте
George
ЭТО САМОЕ БЫСТРОЕ и в целом относительно надежно Но ты, надеюсь, понимаешь, почему pg_dump != бекап
Hello
George
да никто никого не высмеивает
George
это раз
George
два - повторюсь - быстрый вариант есть - "в кронтаб на хосте пихнуть docker exec -it имя_контейнра_с_постгрес pg_dump > файл на хосте"
Hello
George
зачем
George
там херота с зомбяками и прочей дичью - почти наверняка придется в контейнер тащить tini или супервизор
George
и вся прелесть контейнеризации и готовых образов с докерхаба автоматически теряется
Hello
Вы правы. Сделаю пока что кроном на хосте, спасибо, буду разбираться )
Hello
🌀 through a haze 🌀
🌀 through a haze 🌀
разве дамп и бекап не суть одно и то же?
George
🌀 through a haze 🌀
Нет
но ведь я могу восстановить данные из дампа?
🌀 through a haze 🌀
для монги я делал mongodump и потом восстанавливал с помощью mongorestore
Александр
как сделать нормальный деплой, если на вход приходят docker-compose.yml
?
hostmit
Товарищи, а есть какой-то logging as service, с дискавери (на подобии трафика и лейблов). У меня нет возможности развернуть ELK или graylog.
Есть много энвайроментов (docker compose), внутри 13 сервисов .dotnet. Каждый имеет веб доступ (трафик рулит), в виде service-name.env-name.domain. Мне нужно дать просто веб доступ к логам контейнеров, через /log.
Сейчас просто на инстансе портейнер. Но не очень удобно находить
hostmit
dozzle. нашел. есть готовое.
Artem
народ подскажите плз! ошибка такая! при docker service start
Artem
Dec 19 10:10:27 ermakovaa.fvds.ru dockerd-current[12339]: time="2019-12-19T10:10:27.696466460Z" level=warning msg="could not change group /var/... found"
Dec 19 10:10:27 ermakovaa.fvds.ru dockerd-current[12339]: time="2019-12-19T10:10:27.698368342Z" level=info msg="libcontainerd: new containerd p... 12345"
Dec 19 10:10:28 ermakovaa.fvds.ru dockerd-current[12339]: time="2019-12-19T10:10:28.724308908Z" level=fatal msg="Your Linux kernel version 2.6....newer."
Artem
типа проблема в версии Kernel есть
George
Artem
моя проблема была в том что сервак был не КВМ а ХУЙВМ не позволял обновить кернель и докер поставить
Александр
не понял
хочется сделать деплой по кнопке, но пока compose файлы приходят через почту это не реально
Александр
вот интересно, как это сделать хорошо и красиво
George
George
вы там в гит умеете?
George
первый шаг - класть ВСЕ в гит. А артефакты (докер образы, пакеты..) - в artifactory
Anonymous
George
в топку нексус
Григорий
по ссш кладешь docker-compose.yml на сервер и docker-compose up -d тоже через ссш делаешь
George
не обязательно
George
можно export DOCKER_HOST=ssh:/// и с локальной машины запускать
Alex
Привет - может кто в курсе в докеркомпоусе запускается два контейнера - один из них билдит проект
build:
context: .
dockerfile: .docker/dockerfile
второй контейнер поднимает psql
для первого контейнера указываю
depends_on:
- postgres
что бы сразу psql поднялся затем уже билд проекта - но почему то сразу билд проекта делаеться затем уже psql
Cyclone
Покажи весь файл.
Alex
соответственно при билде миграции в базу не делаються потому что psql не успел запуститься
Alex
services:
smart-routing-backend:
container_name: smart-routing-backend
restart: always
build:
context: .
dockerfile: .docker/dockerfile
ports:
- "4000:4000"
networks:
- network1
depends_on:
- smart-routing-postgres
smart-routing-postgres:
container_name: smart-routing-postgres
image: postgres:12
restart: always
ports:
- "5432:5432"
volumes:
- /root/volumes/postgresql/data:/var/lib/postgresql/data
networks:
- network1
Hello
George
George
очевидный ответ
George
более того - билд проходит во временном контейнере, который ни слухом, ни духом про твои докер контейнеры в компоузе
George
решение? делать миграции в рантайме
Alex
понял значит типо баш скрипт - просто запуск контейнеров затем миграции потом запуск приложения
Alex
И может с этим еще сталкивались
прописал в докерфайле
Alex
CMD ["MIX_ENV=prod", "elixir", "--sname", "smartr", "-S", "mix", "phx.server"]
Alex
но получаю ошибку при запуске
Alex
sed "exec: \"MIX_ENV=prod\": executable file not found in $PATH": unknown
Alex
переменные нельзя в CMD что ли указывать