
Erich
26.05.2019
11:45:18
#!/bin/sh
set -o errexit
set -o pipefail
set -o nounset
# N.B. If only .env files supported variable expansion...
export CELERY_BROKER_URL="${REDIS_URL}"
if [ -z "${POSTGRES_USER}" ]; then
base_postgres_image_default_user='postgres'
export POSTGRES_USER="${base_postgres_image_default_user}"
fi
export DATABASE_URL="postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}"
postgres_ready() {
python << END
import sys
import psycopg2
try:
psycopg2.connect(
dbname="${POSTGRES_DB}",
user="${POSTGRES_USER}",
password="${POSTGRES_PASSWORD}",
host="${POSTGRES_HOST}",
port="${POSTGRES_PORT}",
)
except psycopg2.OperationalError:
sys.exit(-1)
sys.exit(0)
END
}
until postgres_ready; do
>&2 echo 'Waiting for PostgreSQL to become available...'
sleep 1
done
>&2 echo 'PostgreSQL is available'
exec "$@"


Алексей
26.05.2019
11:46:25
Да вот там у меня как раз зависимость на хелсчек постгреса

Google

Алексей
26.05.2019
11:46:45
Чтобы взять оригинальный имидж и не подменять ентрипоинт

Erich
26.05.2019
11:47:51

Алексей
26.05.2019
11:48:22
Обратите внимание что в 3ей версии композа выпилили поддержку зависимостей от статуса

Erich
26.05.2019
11:49:18

Алексей
26.05.2019
11:49:39
Если нет сварма бросьте 3ю версию
Она только мешает

Erich
26.05.2019
11:50:02

Алексей
26.05.2019
11:50:04
А если есть сварм бросьте профессию

Erich
26.05.2019
11:51:58

Алексей
26.05.2019
11:52:41
Не взлетел

Erich
26.05.2019
11:53:53
Не взлетел
У нас сервера на 10 тачек, разве плохо сварм ставить?
Просто у нас сварм)

Google

User ?
26.05.2019
11:54:12
Не взлетел
Вроде как ничего не взлетело кроме кубера. А что взлетело, то кубер задавил

Алексей
26.05.2019
11:54:13
Понятно.
Увы и ах

User ?
26.05.2019
11:54:48

Алексей
26.05.2019
11:54:59
Хотел бы но нет

Dan
26.05.2019
11:55:09

Алексей
26.05.2019
11:55:24

Erich
26.05.2019
11:55:49
Задам вопрос
Инфраструктуру поставил за дней 10 (сварм, прокси, CI/CD), до этого не знал сварм

Алексей
26.05.2019
11:56:54
Настроение подкреплённое тем что докер сам перестал про него писать

Erich
26.05.2019
11:57:03
Судя по разговору лучше перейти на куб

Алексей
26.05.2019
11:57:03
И начал писать лишь про куб

Erich
26.05.2019
11:57:09
Много ли уйдет так же с нуля?

Алексей
26.05.2019
11:57:37
До релиза думаю месяц

Erich
26.05.2019
11:58:32

Алексей
26.05.2019
11:58:50
Гугл ит на Ютубе

Dan
26.05.2019
11:58:50
Через месяц :) Всё через месяц

Erich
26.05.2019
12:01:45
чет печально

Google

Erich
26.05.2019
12:01:51
ладно, буду ставить куб.
Друзья
Помогите с Traefik
В связке с swarm

Алексей
26.05.2019
13:05:35
Это есть в соседней репе

Erich
26.05.2019
13:06:10
Я перечел десяток туториалов по этой теме
Установил работает
Но у меня другая проблема

Алексей
26.05.2019
13:06:41

Erich
26.05.2019
13:06:44
Есть скажем фронтенд (HTML CSS js статика, SPA)

Алексей
26.05.2019
13:07:32
Ститику траефик не раздает имхо

Erich
26.05.2019
13:08:37

Erich
26.05.2019
13:09:14
Дело в том что если user-agent == googlebot мне нужно перенаправить на другой сервис
Естественно как я понял конфиги пишу в labels нгинкса
Но как сделать чтобы при юзер агенте трэфик перенаправил на пререндер сервис?

Алексей
26.05.2019
13:10:11
А. Никак. Traefik не для этого

Erich
26.05.2019
13:10:38
Он же прокси, разве нельзя написать права?

Алексей
26.05.2019
13:10:44
Он не фронтовый сервер а реализация паттерна API gateway

Erich
26.05.2019
13:11:06
То есть сложные правила написать нельзя?

Google

Алексей
26.05.2019
13:11:14
Там же не будет acl
Afaik
И прочая фронтовая тема тоже будет отсутствовать
Зато есть активные hc и дискаверинг бекендов

Erich
26.05.2019
13:12:17
Что можете посоветовать для этого? Например нгинкс справляется прекрасно

Admin
ERROR: S client not available

Алексей
26.05.2019
13:12:36
Nginx

Erich
26.05.2019
13:12:39
У нгинкса насколько понимаю нет дискавери

Алексей
26.05.2019
13:12:58
Вот в репе я выше скинул
Там по итогу nginx фронтом и прокси на траефик

Erich
26.05.2019
13:13:53
А зачем именно так?

Алексей
26.05.2019
13:14:40
Чтобы scale работал

Erich
26.05.2019
13:15:17
Если поставить трэфик на фронт скейл работать не будет?

Алексей
26.05.2019
13:16:01
Нет если его поставить на фронт то нормально ничего работать не будет ибо он ничего не умеет
Но вы можете попробовать и рассказать что именно у вас не получилось

Erich
26.05.2019
13:20:29
Допустим я перезагрузил трэфик
Нгинкс его же больше не увидит
Если не перезагружу и нгинкс тоже

Google

Алексей
26.05.2019
13:23:01
Так и есть
С этим ничего нельзя поделать увы
Выручает лишь то что нет причин часто перегружать траефик

Erich
26.05.2019
13:23:56
Понял

Алексей
26.05.2019
13:24:01
Приложение будет рестартся чаще

Erich
26.05.2019
13:24:06
Спасибо, сделаю такую схему

Алексей
26.05.2019
13:30:00
Если у вас получится запилить поддержку леьскрипт в этой схеме -- дайте знать. Я такую проблему решать не стал. Но nice to have

Erich
26.05.2019
14:51:49

Andrey
26.05.2019
23:19:31
А годы всё шли...
https://github.com/docker/compose/issues/3532

Yuriy
27.05.2019
00:48:32

Александр
27.05.2019
14:22:15
Коллеги, подскажите, как настроить резервное копирование postgresql, развернутой в docker? Данные хранятся в volume.

Maxim
27.05.2019
16:06:55

Erich
28.05.2019
05:11:04
Коллеги, подскажите, как настроить резервное копирование 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
28.05.2019
05:38:03

Erich
28.05.2019
05:38:53

Maxim
28.05.2019
05:42:03