George
Но и операционную систему тоже надо подгонять
George
Несомненно. Но говорить о том, что не подходит, вот прям совсем - тоже глупо
George
чушь
George
потому что любая инфраструктура должна быть стандартизирована
George
кубер же не про контейнеры, а про шаблонный подход
George
мониторинг - стандартный логирование - стандартное деплой - тоже стандартный
George
если инфра не стандарт - ею невозможно управлять
George
дорого и хрупко
George
и еще и людей на поддержку не найти, либо очень дорого и долго их вводить в курс дела, в свои велосипеды
George
понятно, что если есть облако - амазон какой - там можно и без кубера. херак-херак, автоскейлинг группа, шаблон AMI виртуалки и все такое
George
но конкретно про кубер - это сейчас самая универсальная точка схождения всех вариантов инфры - облако, он премисы, железки
George
потому что попробуй сделать мультиклауд - у гугла свой апи, у амазона свой, у ажура свой. Вмварь локальная тоже что-то свое предлагает. Можно поверх всего этого сделать свой слой унификации, но ... дорого... а кубер - для разраба - вообще идеально. Взял и поехал везде плюс минус одинаково
George
он не велосипед
George
вмварь - велосипед? вряд ли
George
гугл - велосипед? нет
George
тесла, блин
George
что за тупые аналогии
George
с тем же успехом можно говорить - все говно
George
контрпродуктивная позиция
George
есть задачи - есть инструменты есть подходы есть стандарты
George
кубер с нами всерьез и надолго
George
так же как и линукс проник везде
George
кто мог подумать в начале 2000-х, что все остальные UNIX умрут наглухо
Andrew
подскажите, как в docker-compose.yml нонче модно проверять что контейнер с БД стартанул и можно запускать контейнер с приложением?
Andrew
depends_on не работает как нужно, БД еще не проинициализировалась до конца, а приложение уже стартует
Nikita
Инфа про depens_on от сюда https://docs.docker.com/compose/compose-file/compose-file-v3/#depends_on Ну и ссылка на само решение https://docs.docker.com/compose/startup-order/ Сам по себе depends_on НЕ проверяет работает ли приложение. depends_on проверяет работает ли контейнер Но можно проверять и приложение внутри контейнера. Здесь вам поможет знание самой СУБД, чтобы правильно написать команды/запрос
Andrew
т.е. написать скрипт, который пнет базу в контейнере палкой и спросит - ты там готова?
Nikita
Да И если она НЕ готова - то те контейнеры, которые от неё зависят, тоже НЕ буду стартоваться
Fat
Кто-нибудь сталкивался с зависанием pull image? Запускаю несколько одинаковых VM через терраформ, на них запускается скрипт pull image и иногда на како-нибдь из них зависает на этом моменте
George
С докерхаба качается ?
George
Может в лимиты с айпи упираетесь
Nikita
Хороший вариант - сделать зеркало или использовать собственный регистр
@@@@@
Добрый день . Как из докер образа nginx обратиться к хостовой машине где на на 3000 порту запущен веб сервер?
@@@@@
конфиг nginx
Nikita
Добрый день . Как из докер образа nginx обратиться к хостовой машине где на на 3000 порту запущен веб сервер?
Нет нет нет. Это очень плохо Там как работает сервис? Тоже в докере? Если нет - может тогда и nginx сделать НЕ в докере? Я просто ищу другие варианты. Так-то этот вопрос решить возможно
@@@@@
Просто я на винде
@@@@@
хочу отладить nuxt приложение. надо 80 порт
@@@@@
на винде не нашел замену nginx
Nikita
Можно у контейнера указать network driver host. Тогда контейнер будет работать как будто обычное приложение (именно с точки зрения сети)
Nikita
Такая сеть (с драйвером хост) уже есть по умолчанию. Называется вроде host посмотреть можно docker network ls
@@@@@
спасибо по смотрю
Nikita
спасибо по смотрю
А вообще хороший вариант такой: Закинуть ваш сервис в докер. Нджинкс тоже в докер. Оба этих контейнера добавить в одну сеть И обращаться можно будет не http://localhost:3000,а http://container_name:3000
@@@@@
да этот вариант вот делаю. спасибо)
Nikita
Единственный минус такого варианта: если приложение находится в разработке, то придётся часто пересобирать образ (а это лишнее время, которое нужно ждать) + пропадают фишки по типу "не перезапускать сервер, при изменении кода" А так - одни плюсы. Два контейнера, изолированы ото всех, но не от себя
Fat
С докерхаба качается ?
качается с регистра гитлаба поднятого на своём сервере
Иван
зачем
Fat
Гитлаб может тупить
подозрительно часто последнее время, раньше как-то вообще не сталкивался с таким
Sergio
Ребята, такой вопрос кто сталкивался со сборкой Dokerfile для ангуляр? дело в том что для разработки ангуляра поднимю контейнер а в продакшене не работает
Sergio
вот для продакшена FROM node:14.17.0-alpine WORKDIR /talento/app ADD package.json ./ RUN npm install --only=production COPY --from=build /talento/app/dist/base ./dist/base CMD ["node", "./dist/base"]
Sergio
в папке dist/base должен запустится index.htm
Sergio
может ошибка в CMD ["node", "./dist/base"] ?
Salem
так у вас статичная аппка генерируется, не? вам nginx нужен, чтобы ее сервить
Salem
### STAGE 1: Build ### FROM node:12.7-alpine AS build WORKDIR /usr/src/app COPY package.json package-lock.json ./ RUN npm install COPY . . RUN npm run build### STAGE 2: Run ### FROM nginx:1.17.1-alpine COPY nginx.conf /etc/nginx/nginx.conf COPY --from=build /usr/src/app/dist/aston-villa-app /usr/share/nginx/html
Sergio
а ясно, тойсть без nginx он не запустится?
Sergio
тойсть CMD ["node", "./dist/base"] мне вообще не нужен?
Vitaly
У вас в деве видимо ангуляр в режиме сервака пускается
Vitaly
В проде да, вам как выше сказали, http сервер нужен
Sergio
ясно, спасибо большое
Vitaly
Там если бэк есть, еще и api надо будет поднимать
Sergio
ну да
Nikita
а ясно, тойсть без nginx он не запустится?
Если не знакомы с nginx, рекомендую caddy
Sergio
Если не знакомы с nginx, рекомендую caddy
спасибо, уже запустил через nginx
Null
Многие задачи python-разработчика творческие: похожи на решение головоломок. Как ускорить работу уже оптимизированной базы данных, учитывая ограничения системы? Тут понадобится нестандартный подход, креативность и азарт. Но самое приятное — результаты работы реально помогают людям. Например, от скорости базы данных зависит, как быстро вы посмотрите все варианты товара в онлайн-магазине и выберете нужный. Если вам нравятся такие задачи, возможно, вы уже думали о карьере программиста. Стать python-разработчиком за 9 месяцев возможно, но для этого нужно поменять свою рутину. Придётся сократить время на хобби, заниматься после работы и до неё, подолгу думать над задачами. Но оно того стоит: в конце пути — новая профессия и интересные проекты. А Яндекс Практикум поможет освоить нужные навыки и не бросить всё на полпути. — Вся нужная теория для старта карьеры в одном интерактивном учебнике. — Отработка кода в тренажёре. — Учебные проекты, которые можно добавить в портфолио. — Поддержка команды сопровождения: код-ревью, советы наставников, мотивация от кураторов. — Карьерный центр, где учат составлять резюме и готовиться к собеседованиям. Освойте основы Python в бесплатной вводной части курса →
Евгений
Господа, в чем может быть проблема sysctl -a | grep net.core.somaxconn выдает net.core.somaxconn = 65535 cat /etc/sysctl.conf и /proc/sys/net/core/somaxconn тоже самое Сервер перезапускал после изменения этих настроек Контейнер на старте выдает предупреждение The TCP backlog setting of 65535 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 4096. Откуда он эти 4096 берет?))
Евгений
Евгений
Для контейнера значение установите: Добавьте в команду запуска --sysctl net.core.somaxconn=65535
хм, это во все docker-compose файлы нужно дублировать все настройки из /etc/sysctl.conf ?
Евгений
может глобально можно как-то один раз объявить?) А то костыльно как-то дублировать во всей файлы))
Евгений
А у тебя во всех контейнерах такая ошибка?
насколько понял если подключаться к контейнеру и делать sysctl -a | grep net.core.somaxconn, то он берет настройки по дефолту из ядра linux (не те что я задал в /etc/sysctl.conf) - поэтому число 4096 как дефолтное для linux в docker-compose вот это действительно помогает, но чего-то очень не нравится всё дублировать на каждый контейнер) sysctls: - net.core.somaxconn=65535 - net.ipv4.tw_reuse=1
Yaroslav
неа, x-sysctls-config: &sysctls-config не видит :(
ну а так... в качестве бреда, docker установлен не через snap?