Задорный Копатыч
А я чего-то читал, что фс контейнера наоборот быстрее, чем проброс -v
George
Это раз. Два. Это подсказка человеку, который будет использовать контейнер, что неплохо вольюм поименовать и тогда он не умрет
Задорный Копатыч
Если подытожить, в volume лучше выносить не статику контейнера, которая будет видоизменяться?
George
George
А ещё на вольюм вроде как не распространяется ограничение размера фс контейнера, если оное стоит
Задорный Копатыч
Ну да, логично. Это же не внутрянка, а монтирование.
Anonymous
Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.
Thank you for using nginx.
Anonymous
как исправить на виртуальном хосте?
倫太郎
Filippe
теперь сайт туда запихивать можно?
Игорь
Подскажите пожалуйста, как относятся к резервированию(в плане дублированию подсистем) в докер сообществе? Существуют ли какие-то типовые решения? Как решают задачу горячего резервирования?
George
резервированию чего? Вообще иди в кластер - типа куба
Игорь
резервированию чего? Вообще иди в кластер - типа куба
ну у меня система(3 контейнера соединенных через бридж) крутится в докере, соответственно все это располагается на 1 виртуальном сервере
Мне сказали: "надо придумать схему резервирования, что бы если один сервер упадет, то что бы автоматом на другой шло". И я не знаю, насколька атуальна такая проблема для докера. Например: надо ли разбивать параллельные контейнеры на разные виртуалки или достаточно создать копии на том же самом сервере. Вопрос скорее методологический, хотелось бы увидеть бест практисы, типовые решения, что-то в этом духе. Возхможно надо убедить, что это вообще не нужно. Куб это кубернтис?
George
Andrey
ну у меня система(3 контейнера соединенных через бридж) крутится в докере, соответственно все это располагается на 1 виртуальном сервере
Мне сказали: "надо придумать схему резервирования, что бы если один сервер упадет, то что бы автоматом на другой шло". И я не знаю, насколька атуальна такая проблема для докера. Например: надо ли разбивать параллельные контейнеры на разные виртуалки или достаточно создать копии на том же самом сервере. Вопрос скорее методологический, хотелось бы увидеть бест практисы, типовые решения, что-то в этом духе. Возхможно надо убедить, что это вообще не нужно. Куб это кубернтис?
Есть несколько систем оркестрации, зачти. А можешь и без них, но тут будет докер не причём.
George
если у тебя на уровне приложения есть репликация - просто запускаешь второй набор контейнеров на второй машине и настраиваешь репликацию
George
если приложение не умеет, то тебе придется полагаться на инфру - либо на гипервизор, либо на оркестратор
George
типа кубернетеса
George
в сворм не иди
Andrey
Andrey
Andrey
Чисто интересно
George
теоретически (только теоретически) - два полностью идентичных сервера с набором контейнеров питон + постгрес, спереди ЛБ
George
в идеале - ПГ на отдельные инстансы
George
и в HA
George
тут только вопрос в том, что у тебя по возможности САМО питон приложение должно уметь работать в несколько копий. Это означает, что общее состояние ты можешь хранить только в реплицированном общем хранилище - в той же БД например
Игорь
Игорь
А лб это балансировщик?
George
George
Типо nginx спереди.
Игорь
George
PG postgres
Игорь
rmshell
Можно как-то с хостовой тачки достучатся до контейнера по его имени? Например, на хосте 2 проекта, у каждого проекта в docker-compose:
services:
db:
image: postgres
ports:
- "5555:5432"
Второй контейнер не стартанёт т.к 5555 уже занято первым стартанувшим. Но зато можно подрубится к бд psql -h127.0.0.1 -p5555 (psql -h172.22.0.1 (172.22.0.2) -p5432 не пускает, консоль тупо висит) .Под каждый проект увеличивать/уменьшать номер порта? Это мучения какие-то. Как под разные проекты использовать один конфиг композа?
rmshell
В доке как бы написано postgres://{DOCKER_IP}:{PORT} и будет все ок, но вот чет мне кожется что докер ип это не разу ип шлюза сетки или же контейнера в сетке
Petr
bridged network
George
George
как бы ОНИ И НЕ ОБЯЗАНЫ быть доступны
George
пример - мак или венда, где докер в ВМ
George
или центос - где заблочены правила проваливания в контейнеры КРОМЕ как через проброс портов
George
результат - да, придется на каждый проект аллоцировать либо отдельный порт, либо отдельную пару ip:port и вешать этот ip на lo (dummy) интерфейс
George
вот так вот
rmshell
не удобно однако порт +/- гонять и админер сервисом не хочется
George
от задачи зависит. решение с одним портом я тебе придумал:
вместо - "5555:5432"
пиши - "1.1.1.1:5555:5432"
George
и 1.1.1.1 на lo
George
сложно? да. А чего вы хотели... называется
rmshell
нет не сложно, лень, уж придётся echo ‘POSTGRES_PORT=5555’ >> ./.env
ports:
- "${POSTGRES_PORT}:5432"
George
варик, да
rmshell
если переменные окружения указаны в композе, то они в докерфайле доступны? Например в композе:
services:
db:
build:
context: ./docker/db
dockerfile: Dockerfile
restart: always
environment:
- CHARSET=UTF-8
- LANG=ru_RU
а в докфайле:
RUN localedef -i ${LANG} -c -f ${CHARSET} -A /usr/share/locale/locale.alias ${LANG}.${CHARSET}
George
нет
rmshell
жаль(
George
это в секции build как build-args идет
George
т.е.
ARG LANG
ENV LANG=$LANG
вот это еще добавить надо
George
в докерфайл
rmshell
а зачём ещё раз то их указывать оО
George
потому что ENV ! = ARG
George
это очевидный и простой ответ
George
🤷♂️
rmshell
hostmit
Из докер комоуза я могу передать ФРОМ имедж докерфайлу для билда?
hostmit
В АРГ перед фром я не могу подать shell env variable?
Anonymous
Всем привет) А если я хочу в докер композе чтоб стейдж запускался без одного сервиса (например kibana) могу ли я это как-то сделать ?
George
hostmit
какой? у меня не кушает он аргументы из билдаргс
George
тогда работает. В другом порядке - нет
petyappetrov
ребят, глупый вопрос. Надо ли коммитить docker-compose файл в репозиторий?
George
George
hostmit
Anonymous
petyappetrov
George
А как ?)
например, подымать сервисы не docker-compose up, а с четким указанием нужных сервисов
George
либо распили докер-компоуз на несколько. Ты можешь их либо через аргумент -f объединять
hostmit
George
либо через override.yaml