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 умрут наглухо
Azizjan
Stepan
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
Да
И если она НЕ готова - то те контейнеры, которые от неё зависят, тоже НЕ буду стартоваться
Andrew
Fat
Кто-нибудь сталкивался с зависанием pull image?
Запускаю несколько одинаковых VM через терраформ, на них запускается скрипт pull image и иногда на како-нибдь из них зависает на этом моменте
George
С докерхаба качается ?
George
Может в лимиты с айпи упираетесь
Nikita
Хороший вариант - сделать зеркало или использовать собственный регистр
@@@@@
Добрый день .
Как из докер образа nginx обратиться к хостовой машине где на на 3000 порту запущен веб сервер?
@@@@@
@@@@@
Просто я на винде
@@@@@
хочу отладить nuxt приложение. надо 80 порт
@@@@@
на винде не нашел замену nginx
Nikita
Можно у контейнера указать network driver host. Тогда контейнер будет работать как будто обычное приложение (именно с точки зрения сети)
Nikita
Такая сеть (с драйвером хост) уже есть по умолчанию. Называется вроде host
посмотреть можно docker network ls
@@@@@
спасибо по смотрю
Nikita
спасибо по смотрю
А вообще хороший вариант такой:
Закинуть ваш сервис в докер. Нджинкс тоже в докер. Оба этих контейнера добавить в одну сеть
И обращаться можно будет не http://localhost:3000,а http://container_name:3000
@@@@@
да этот вариант вот делаю. спасибо)
Nikita
Единственный минус такого варианта: если приложение находится в разработке, то придётся часто пересобирать образ (а это лишнее время, которое нужно ждать)
+ пропадают фишки по типу "не перезапускать сервер, при изменении кода"
А так - одни плюсы. Два контейнера, изолированы ото всех, но не от себя
Иван
George
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
ну да
Sergio
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 берет?))
Yaroslav
Евгений
Solyar
Евгений
Евгений
может глобально можно как-то один раз объявить?)
А то костыльно как-то дублировать во всей файлы))
Solyar
Евгений
А у тебя во всех контейнерах такая ошибка?
насколько понял если подключаться к контейнеру и делать sysctl -a | grep net.core.somaxconn, то он берет настройки по дефолту из ядра linux (не те что я задал в /etc/sysctl.conf) - поэтому число 4096 как дефолтное для linux
в docker-compose вот это действительно помогает, но чего-то очень не нравится всё дублировать на каждый контейнер)
sysctls:
- net.core.somaxconn=65535
- net.ipv4.tw_reuse=1
Евгений
Nikita
Евгений