
inqfen
21.08.2018
18:14:54

Pavel
21.08.2018
18:17:48
Adobe After Effects, темплейт с которого он будет рендерить и код на node.js

Eugene
21.08.2018
19:02:49
Вопрос по продакешну. На данный момент в организации есть собственный выделенный сервер с ESXi, на котором хостятся виртуалки с веб-сайтами (на PHP и ASP.NET) и серверами 1С. Почти всё хостится на виртуалках с Windows Server.
Хочется что-то оптимизировать и избавиться от кучи одинаковых систем, разгрузить железо, упростить резервное копирование и развертывание.
Подойдет ли Docker? Если да, то как лучше его разворачивать? Я вижу примерно так: на сервер ставится единственная система (Ubuntu, к примеру) и на неё ставится куча контейнеров.

Google

Kirill
21.08.2018
19:04:02
Если софт возможно на линухе стартовать, то какая нибудь Fedora Atomic Host и на ней уже куча контейнеров

Eugene
21.08.2018
19:04:35
Только вопрос в надёжности. Когда все ВМ отдельно, рисков меньше. Или это лишь иллюзия?

Kirill
21.08.2018
19:06:51
Ну контейнеры это тоже отдельные изолированные процессы

inqfen
21.08.2018
19:07:02

Eugene
21.08.2018
19:07:09
А если некоторые серверы (как 1С) у нас на Windows?

Kirill
21.08.2018
19:08:27
Тут все сложнее)

Eugene
21.08.2018
19:08:46
Ещё интересен момент. Что будет, если на ESXi создать виртуалку и в ней еще использовать Docker?

inqfen
21.08.2018
19:08:56

Eugene
21.08.2018
19:08:59
Это же какое-то извращенство

inqfen
21.08.2018
19:09:06
нет, почему

Eugene
21.08.2018
19:09:44
Потери производительности не будет?

inqfen
21.08.2018
19:10:10
Ну, если все правильно настроено, то в пределах погрешности
Не больше, чем затрат на саму виртуализацию

Google

Kirill
21.08.2018
19:10:35
Если софт виндовый, то надо копать в сторону вин сервера с нано контейнерами

inqfen
21.08.2018
19:11:16
Docker же не магия, это просто берется существуещее ядро и система, в ней выделяются изолированные ресурсы и там разворачивается новое окружение
Ядро-то то же самое
И сигналы обрабатывает с той же скоростью

Eugene
21.08.2018
19:12:13
Спасибо, ребят! Очень полезно :)

inqfen
21.08.2018
19:13:57
Обращайся

Jentry
21.08.2018
19:51:55

inqfen
21.08.2018
19:53:47
Ну, они там все равно достаточно незначительны. Понятно, что добавив абстракции, скорость не увеличится, но ее падение незначительно
Опять же, непоказательно из-за ядра.
Я там так и не увидел используемое ядро linux, а если взять до 4.10 емнип и overlay, то да, тут большие проблемы с производительностью будут

Mikalai
21.08.2018
20:54:39
А реально ли дёрнуть тэг (версию) образа внутри этого образа?

Alexander
21.08.2018
21:48:34
Подскажите пожалуйста, завернул свое приложение в контейнер, запушил в докер хаб.
Теперь хочу поставлять обновления на свой сервер, можно как-то устроить автоматическое подтягивание новых версий контейнера на сервере?
Есть какой-то готовый инструмент, или придется придумывать самому?

Mikalai
21.08.2018
21:50:22
Gitlab CI, Jenkins, CircleCI и аналоги

Alexander
21.08.2018
21:50:43
Спасибо

bebebe
22.08.2018
03:31:02

AlexAnder
22.08.2018
04:09:46
Travis Ci

jidckii
22.08.2018
04:11:24
drone.io

Stas
22.08.2018
05:33:41
Добродня товарищи. Подскажите пожалуйста на нубский вопрос. Есть имаджи: service , service-migrations. Миграции нужно запускать только разово на каждое обновление. После отработки миграции должны сдохнуть, а сервис следом запуститься. Можно-ли это сделать в композе без дополнительных внешних действий?

Yevhen
22.08.2018
05:35:26
Что такое "каждое обновление"

Google

jidckii
22.08.2018
05:35:39

Stas
22.08.2018
05:36:32

Yevhen
22.08.2018
05:37:16
Ну тогда тебе depends_on + restart policy
Start containers automatically | Docker Documentation
https://docs.docker.com/config/containers/start-containers-automatically/

Stas
22.08.2018
05:41:11
хм. тут получается следующая логика будет:
1. запустились миграции
2. сразу как контейнер миграций встал в статус run по depends_on запустился service (! а нужно после завершения)
3. в рестарт полиси миграций указываю max_attempts: 0 и контейнер с миграциями не запустится до следующего деплоя (верно понимаю?)
все ок акромя 2 пункта

Yevhen
22.08.2018
05:44:12
А зачем для миграций отдельный контейнер?

Stas
22.08.2018
05:44:35
там жесть, к которой даже близко не хочется подходить
форк опенсорсного наворотили

jidckii
22.08.2018
05:46:09
а ты чем деплоишь ?
если ansible , то запускай сервисы в разных тасках

Stas
22.08.2018
05:46:44

Stas
22.08.2018
05:46:58
нет, не ансибл
и скрипт я наковырять могу, но вопрос именно что задача может-ли решиться средствами compose

jidckii
22.08.2018
05:48:21
наврятли

Yevhen
22.08.2018
05:49:03

Stas
22.08.2018
05:49:31
а кубер умеет кастомные тригеры (в данном кейсе запуск другого имаджа) на остановку конкретного сервиса/контейнера ?

Yevhen
22.08.2018
05:50:09
там жесть, к которой даже близко не хочется подходить
а кубер умеет кастомные тригеры (в данном кейсе запуск другого имаджа) на остановку конкретного сервиса/контейнера ?
Ты точно хочешь завязаться на кубера?)

Google

Stas
22.08.2018
05:50:55
в любом случае, спасибо, комрады =]

Alexander
22.08.2018
07:09:10
Доброе утро коллеги. подскажите как вы решаете проблему с сервисными контейнерами.
вот мне нужно сделать npm install. Для этого мне надо ставить ноду. И если я правильно понимаю идеологию докера, то в php-fpm ее ставить не особо рекомендуется. т.е. надо поднять отдельный контейнер, куда запихнуть ноду и все плагины к ней и использовать этот контейнер для подключения к проекту зависимостей и сборки статики вебпаком. Но как это сделать то? Ну т.е. контейнер я делаю, но он после запуска сразу отключается и в него не войти.

Mikalai
22.08.2018
07:12:17

Alexander
22.08.2018
07:12:59
ну я там краем уха слышал что типа чем меньше контейнер, тем лучше. а нода, установленная в контейнер, и не нужная на проде к тому же, вроде как не феншуй.

Mikalai
22.08.2018
07:33:11

Admin
ERROR: S client not available

Mikalai
22.08.2018
07:33:51
Образ должен быть самодостаточным

Dima
22.08.2018
07:44:05

Алексей
22.08.2018
07:46:11

Alexander
22.08.2018
07:46:36
ага
вижу статью
спасибо, будем почитать

Алексей
22.08.2018
07:47:22
2 контейнера
1. нжинкс в который с помощью multi-stage build собираешь ассеты
2. php который только ставит composer зависимости и все

Dima
22.08.2018
07:47:56
Это первый вариант. То что в ссылке скинули.
Это если брать docker-compose.

Алексей
22.08.2018
07:48:47
зачем третий?

Google

Dima
22.08.2018
07:50:00
зачем третий?
Для того, чтобы композер не хранит в основном образе

Konstantin
22.08.2018
07:50:16
Народ если есть у кого решение или ссылка как сделать чтобы пхп на нгинксе работал под нужным юзером а не под www-data поделитесь как сделать

Dima
22.08.2018
07:55:36
У тебя два контейнера? nginx & php-fpm

Konstantin
22.08.2018
07:57:03
Да

Dima
22.08.2018
08:03:50
Тебе нужно заменить пользователя в конфиге www.conf. Плюс в образе создать этого пользователя.

Konstantin
22.08.2018
08:44:57
а в конфиге php-fpm не надо этого юзера указывать?

Dima
22.08.2018
09:00:01

Konstantin
22.08.2018
09:52:19
вроде решил
добавил в докерфайл при сборке пхп
RUN groupadd konstantin
RUN useradd -ms /bin/bash konstantin -g konstantin
потом расшарил в композе файл
./php/www.conf:/usr/local/etc/php-fpm.d/www.conf
и в нем уже указал каким юзером запускать пхп
user = konstantin
group = konstantin

Фёдор
22.08.2018
10:19:52
имхо в случае двух раздельных контейнеров юникс сокеты использовать не надо

Gord
22.08.2018
10:37:07
А где можно найти готовые докер фаилы
Явно же где то есть для различных целей

Sergey
22.08.2018
10:38:04

Sailor
22.08.2018
10:39:57
подскажите ,как правильно написать)
RUN unzip \
ngx_devel_kit.zip \
nginx-http-rdns-master.zip \
set-misc-nginx-module.zip \
sdch_module.zip \
ngx_brotli.zip

Gord
22.08.2018
10:40:00