.
Он же прокси, разве нельзя написать права?
Aleksey
Он не фронтовый сервер а реализация паттерна API gateway
.
То есть сложные правила написать нельзя?
Aleksey
Там же не будет acl
Aleksey
Afaik
Aleksey
И прочая фронтовая тема тоже будет отсутствовать
Aleksey
Зато есть активные hc и дискаверинг бекендов
.
Что можете посоветовать для этого? Например нгинкс справляется прекрасно
Aleksey
Nginx
.
У нгинкса насколько понимаю нет дискавери
Aleksey
Вот в репе я выше скинул
Aleksey
Там по итогу nginx фронтом и прокси на траефик
.
А зачем именно так?
Aleksey
Чтобы scale работал
.
Если поставить трэфик на фронт скейл работать не будет?
Aleksey
Нет если его поставить на фронт то нормально ничего работать не будет ибо он ничего не умеет
Aleksey
Но вы можете попробовать и рассказать что именно у вас не получилось
.
Допустим я перезагрузил трэфик
.
Нгинкс его же больше не увидит
.
Если не перезагружу и нгинкс тоже
Aleksey
Так и есть
Aleksey
С этим ничего нельзя поделать увы
Aleksey
Выручает лишь то что нет причин часто перегружать траефик
.
Понял
Aleksey
Приложение будет рестартся чаще
.
Спасибо, сделаю такую схему
Aleksey
Если у вас получится запилить поддержку леьскрипт в этой схеме -- дайте знать. Я такую проблему решать не стал. Но nice to have
Andrey
А годы всё шли... https://github.com/docker/compose/issues/3532
Александр
Коллеги, подскажите, как настроить резервное копирование postgresql, развернутой в docker? Данные хранятся в volume.
.
Коллеги, подскажите, как настроить резервное копирование postgresql, развернутой в docker? Данные хранятся в volume.
например у меня так FROM postgres:11.3 COPY ./compose/production/postgres/maintenance /usr/local/bin/maintenance RUN chmod +x /usr/local/bin/maintenance/* RUN mv /usr/local/bin/maintenance/* /usr/local/bin \ && rmdir /usr/local/bin/maintenance внутри /compose/production/postgres/maintenance находится файл backup с таким содержимым https://gist.github.com/buffalobill571/0640b0404ebc90e975d2b36d28023f76 для бэкапа мне нужно запустить docker-compose -f <environment>.yml (exec |run --rm) postgres backup
Maxim
компоуз файл примерно таков https://gist.github.com/buffalobill571/d3677e579df1628d24c03c01e31983c7
У вас директива context: . сообщает docker что при сборке необходимо всю директорию подготовить к отправке в docker образ postgresql, лучше контекст ограничивать конкретной директорией в которой находятся только самые необходимые файлы для postgresql
Maxim
Коллеги, подскажите, как настроить резервное копирование postgresql, развернутой в docker? Данные хранятся в volume.
Самое простое это делать дамп и отправлять его в s3 или подобный облачный сервис, а restore делать либо последнего дампа либо конкретного, если вас интересует подобное решение то могу рассказать подробней с примерами bash скриптов. Если же в наличии репликация и шардирование то схема немного другая и чуть сложнее, но так же могу поделиться готовыми решениями, если они вас интересуют
Maxim
поделитесь решениями по репликации)
https://github.com/paunin/PostDock Вот отличный пример с подробной инструкцией по эксплуатации
Maxim
благодарю!
Не за что, только инструкцию внимательно прочитайте
Kamal
стоит так уже минут 20 если не больше как быть?
Kamal
суть прописал настройку в env файл, после сохранил и тех пор вот так и делает
Kamal
открыл другую ssh там прописал еще раз так как оно не сохранил мое изменение и опять нажал на ctr+o, после опять пишет что оно занета
Tadeusz
О ужас
Tadeusz
Все пропало
Kamal
О ужас
в чем же ужас?
Tadeusz
Величайшая проблема
Kamal
Величайшая проблема
я новичок, но не думаю что это такая страшная проблема
Tadeusz
И при чем же тут докер?
Kamal
оно же в докере работает мне искать его в убунту что-ли?
Kamal
работает на докере же, не смотря что докер стоит на убунту или же я не прав?
Tadeusz
Не забывайте страдать, здесь же одни ванги
Kamal
страдание это не для меня, но могу слегка попасть в депрессию)
Александр
Коллеги, подскажите, в чем может быть ошибка? У меня есть 2 образа: postgre_db (с БД) и my_app (с приложением на java). Я хочу запустить все это без docker-compose. Делаю вот так: docker run -d --rm -p 127.0.0.1:5432:5432/tcp postgre_db И потом вот так: docker run -it --rm --network="host" -p 127.0.0.1:8080:8080/tcp my_app В результате подключение к БД из приложения работает отлично, но при тестировании самого приложения через Postman приложение не реагирует. То есть вообще запросы не проходят... Может я что не правильно сделал? Подскажите, в какую сторону копать?
Andrey
ну для начала выкинуть нетворк хост
Александр
ну для начала выкинуть нетворк хост
Без этого падает с ошибкой: org.postgresql.util.PSQLException: Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections
Andrey
ну так сделать нормальные настройки сетей --link
Александр
Andrey
ну прочесть например инструкцию, как и куда экспортится порт, ну и ключевое слово я вроде как дал
Andrey
да и чем вам плох композ, хотя понимать что и как он делает, не вредно
Александр
ну прочесть например инструкцию, как и куда экспортится порт, ну и ключевое слово я вроде как дал
Ок, спасибо. То есть это закономерно, что с моими настройками http запрос не проходит?
Александр
Мне нужно сделать контейнер, который потом поднять в облаке, а бд там уже есть и к ней просто нужно подключиться. Поэтому компоуз не подходит
Andrey
ну... ваши настройки, пряма скажим странные и я бы так делать не стал, а что как у вас не проходит не очень ясно, вы поймите нам откюда не видно что вы делаете и видите
Александр
Понял. Спасибо. Буду копать в сторону --link
Александр
Чего гарантированно не будет?
Tadeusz
Ничего не будет)
Nikita
Всем привет 😊 Ребят такой вопрос, в докере крутится апликуха на PHP. Для её полноценной работы надо поднять пару воркеров (php файлики запустить короче) Схема примерно такая, есть веб морда, и есть очередь, в веб морде что-то сделали, это попало в очередь и воркеры должны разгребсти. В чем проблема. Без докера если, я бы воркеры запихал в супервизор, чтобы они жили всегда. А как правильно сделать сейчас, я хз. Вот докер-композ ``` version: "3.3" services: nginx: image: nginx restart: always php: build: ./docker/php restart: always mysql: image: mysql volumes: restart: always rabbit: image: rabbitmq restart: always redis: image: redis restart: always ``` Поднимать супервизор внутри php контейнера странно. А пилить еще один контейнер с теми же зависимостями что и первый тоже не круто. Как сделать? Понравился подход https://github.com/mcuadros/ofelia но это крон, а не супервизор. Вообщем толи лыжы не едут, толи я что-то туплю.
.
Всем привет 😊 Ребят такой вопрос, в докере крутится апликуха на PHP. Для её полноценной работы надо поднять пару воркеров (php файлики запустить короче) Схема примерно такая, есть веб морда, и есть очередь, в веб морде что-то сделали, это попало в очередь и воркеры должны разгребсти. В чем проблема. Без докера если, я бы воркеры запихал в супервизор, чтобы они жили всегда. А как правильно сделать сейчас, я хз. Вот докер-композ ``` version: "3.3" services: nginx: image: nginx restart: always php: build: ./docker/php restart: always mysql: image: mysql volumes: restart: always rabbit: image: rabbitmq restart: always redis: image: redis restart: always ``` Поднимать супервизор внутри php контейнера странно. А пилить еще один контейнер с теми же зависимостями что и первый тоже не круто. Как сделать? Понравился подход https://github.com/mcuadros/ofelia но это крон, а не супервизор. Вообщем толи лыжы не едут, толи я что-то туплю.
Предлагаю сделать один образ, но в компоуз сделать разные сервисы с разными командами
LEXASOFT
php: build: ./docker/php restart: always worker: build: ./docker/php restart: always command: php worker.php
Evgeniy
используй target для вокрера и php
LEXASOFT
ну либо так
Evgeniy
а внутри уже FROM php as worker и тут фоновы задачи
Nikita
используй target для вокрера и php
Хм, впервые вижу target, можно пример?