Docker для боевых проектов

scorpion-ds

Новичок
В какой-то мере, это в продолжение этой темы:
http://phpclub.ru/talk/threads/Развертывание-проекта-на-тест.81782/

Но идея запускать не только тестовые приложения, но и боевые однотипные приложения, элементы сервиса которые создаются при регистрации для пользователей, они должны быть доступны в реальный мир на субдоменах. Также должна быть возможность легко обновлять ПО которое в них развернуто.

В целом с контейнерами я разобрался и как пробрасывать порты хост в машину, но мне не понятно как можно сделать их доступными в реальный мир (порт 80)?

Вообще Докер подходящая для такой задачи технология?
 

Yoskaldyr

"Спамер"
Партнер клуба
@Adelf, Призывать надо без @ - это значительно повышает скилл при успешном призыве )))
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
@scorpion-ds, подходящая
проброс портов по документации или по примеру
Код:
$ docker run --name my-nginx -d -p 8080:80 -v /project/nginx.conf:/etc/nginx/nginx.conf -v /path/to/content:/usr/share/nginx/html nginx
реально такую команду руками не набирают, конечно - контейнеры запускают пачками из swarm, compose, systemd, ansible, ... вариантов тысячи

по сетям целый раздел есть - можно хоть внутренние сети создавать и запускать контейнеры кластерами

@admin в канале запостил хороший доклад по контейнерам на днях
опыт баду https://www.youtube.com/watch?v=UgUuF_qZmWc
 
Последнее редактирование:

scorpion-ds

Новичок
Подскажите, кто в курсе, чем это лучше или хуже:
https://www.proxmox.com/en/

Также два вопроса:
  • разве Докер потребляет лишние (читать как избыточные) ресурсы, на свою работу?
  • что будет, если внутри контейнеров работать от root?
У нас на конторе возник вот такой спор, мне нужно будет принять решение кто прав ...
 

Breeze

goshogun
Команда форума
Партнер клуба
@scorpion-ds, прокмокс клёвая штука, но она про виртуализацию средствами kvm и lxc
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
@scorpion-ds, вопросы не имеют смысла. Чтобы объяснить почему надо объяснить что такое контейнеры, а об этом лучше почитать - все отлично описано.
 

fixxxer

К.О.
Партнер клуба
@scorpion-ds, для начала надо определиться, что тебе надо - виртуалки или апп-контейнеры
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
@fixxxer, это тоже не имеет смысла, потому как это две распространенные, но разные модели построения multitenant-систем. У каждой есть достоинства и недостатки.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
А она выбирается как фреймворк - или исторически, или по фазе луны :)
чтобы выбрать осознанно, надо долго и упорно читать доки и ставить эксперименты, или нанимать тех, кто в теме, потому что факторов очень много и вариантов - тоже.

Виртуалки бывают легковестные, а контейнеры можно включить в общее пространство процессов, что принципиально меняет ответы на вопросы.
 
Последнее редактирование:

fixxxer

К.О.
Партнер клуба
У него уже есть приложения, у которых есть определенная архитектура. Вот от нее теперь уже и плясать.

Конечно, по-хорошему, архитектура должна сразу предусматривать деплоймент-мейнтенанс, но для этого девопсов надо нанимать сразу :) ну или самому им становиться
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Выбор между потерей 5% или 10% производительности процессора практически никогда не является фактором принятия решения при выборе архитектуры. А вот общий I/O или затык в NAT очень даже становится узким местом, если железок 10, а юнитов - 100.

Но главный источник нескончаемой радости - это, конечно, шареные сервисы, как то object storage, dns, роутер, балансер :)
 
Последнее редактирование:

fixxxer

К.О.
Партнер клуба
Да я о другом. Если его приложения проблематично раскидать по принципу "один демон - один контейнер", все преимущества докера превратятся в недостатки и борьбу с ними.

В смысле i/o между lxc и docker разницы особо нет.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
а вот разница между vmware esx и докером/lxc существенная
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
мне одного swift хватило - спасибо, больше не надо

вылавливаю приколы вроде такого, когда на серверах производительностью в 2 раза выше ощущение скорости работы ниже из-за редких потерь пакетов внутри кластера
 
Последнее редактирование:

scorpion-ds

Новичок
@scorpion-ds, для начала надо определиться, что тебе надо - виртуалки или апп-контейнеры
Сейчас речь идет о проекте на доработке, сам по себе он работает на докере, также он был развернут для тестирование у нас. Разворачивал один разработчик (который когда-то имел косвенное отношение к нему, сейчас он удаленно работает), доработки вносит новенький, этот новенький возмущался, почему приложения в контейнерах работают от рута, а также тем что контейнеры потребляют слишком много памяти, после чего снес контейнеры и развернул проект по чистому.

Так как я в докерах не шарю и сейчас совсем нет времени разобраться в сути проблемы, потому может и спросил так по ламерски ...

В пятницу, мы все встречаемся в офисе и нужно решить кто прав, так как новенький обвинил в нарушении основ безопасности сервера и перегрузки его ненужным софтом (докерами), другой разработчик с ним не согласен и уверяет, что во-первых сервер только для теста, во-вторых с нагрузкой вроде все норм (или докер по крайней мере тут не причем), безопасность не нарушена. Также новенький в целом не верит в Докеры, он за proxmox, хотя его тоже не юзает.

Но новенький пришел на должность синьера, с большим опытом и с крутого проекта, а другой разработчик джун, так что не понятно кто прав.
 

Redjik

Джедай-мастер
этот новенький понятия не имеет о безопасности и работе доккера =)))

Докер не нужно запускать от рута... но про это ты и не писал.
Внутри контейнера приложения чаще всего и правда работают от рута, ибо они ограничены только контейнером, как они могут влиять на безопасность системы?

Контейнеры потребляют столько памяти, сколько нужно. Надо проверять почему. Это не проблема докера.

Перегрузки ненужным софтом нету... так как по факту никакой софт на хост машину ты не ставишь, весь софт в контейнерах.
То есть ты ставишь докер. И все, на хосте у тебя нет ни php ни mysql ни nginx ни memcache итп...

Подключите меня на 30 минут в пятницу, заплатите 20 баксов - и я покрою херами вашего сениора за такой бред ;)
 
Сверху