Sergey
внутри вм?
Sergey
то есть вм должна сама по себе управлять хостом на котором запущена что ли?
Sergey
попахивает побегом)
Александр
Эм... ну управлять не то слово, а слушать его и помогать ему.. восстание машин - вся фигня
Sergey
в общем и целом-то можно. Гипервизором пробросить нужный порт из хоста в вм
Sergey
но это должно работать не изнутри вм, разумеется
Александр
Ну.. для такого я так понимаю и нужен ansible или что-то типа того, что б помочь в этом.
Александр
Хотя можно просто сделать проброс портов с 10001 по 65000 для докера и докеру указывать порт запуска другой O_o
Александр
Самое просто и быстрое решение O_o
Sergey
накостылять в любом случае можно много всего. А можно установить нативный докер и не костылять
Sergey
:)
Александр
😃 Ну тут изначально были условия не высказанны полностью :D
Roman
Коллеги, приветствую, помогите, пожалуйста, рецептом Есть проект, я его сейчас заворачиваю в докер контейнеры вместе с docker compose. Как мне в связку поставить контейнер с нодой так, чтобы я мог билдить часть ноды в любой момент? Контейнер с php-fpm не завершается после up, поэтому я могу сделать doc-compose exec php build для сборки php'шной части Но контейнер с нодой завершается после doc-compose up, как быть, подскажите пожалуйста?
Denis
А там с Node.js приложением точно никаких проблем нет?
Roman
там нет приложения
Roman
нода нужно чтобы npm и bower дернуть
Denis
Не должно вылетать, если server.listen вызывается
Denis
А, т.е. Только для билд процесса?
Roman
да
Roman
но там в приложении есть ещё один сервис, и там вочер сокетов на ноде, но это уже следующий этап деплоя будет (это отдельный микросервис)
Roman
вобщем как мне заставить стандартный контейнер ноды не завершаться?
Roman
Подскажите ещё, насколько я понял бывают standalone контейнеры, которые нужны просто дёрнуть одну утилиту (например https://hub.docker.com/r/composer/composer/) Подсккажите, как их можно использовать в связке compose? Например как можно из контейнера дернуть такой композер? Или только с хост машины можно через compose exec?
Alexander
выложи все в папку на ружу и запускай npm из хозякой системы
Roman
так зачем тогда докер, если нужно ещё окружение вокург докер настроить? )
Denis
Тебе надо захолдить процесс, например через gulp.watch
Roman
может быть просто не нужно тогда ноду в compose добавлять? В билд скрипте просто дергать через docker run —rm -v .:/app node npm install?
Denis
Давай более глобально. Будет инсталл, дальше что - сборка? А если что-то изменилось - нужна будет пересборка?
Denis
При этом собранное должно быть передано РНР приложению?
Denis
Иначе можно просто npm install перед РНР)
Nurlan
https://docs.docker.com/engine/admin/host_integration/
Roman
сейчас собираю дев площадку. Сервис написан на php, с использованием фронтендовых пакетов (bower), и сборкой галпом (npm). Билд - (псевдокод) composer install npm install bower update gulp build php migrations это всё я хочу разложить на сборку докером по контейнерам. Чтобы контейнер с нодой собирал фронтенд, а контейнер с php собирал php часть и обрабатывал запросы контейнера nginx
Denis
Таким образом Nginx сам определяет на какой URI отдать статику, собранную npm + bower, а на какой отдать его PHP-серверу?
Roman
нет, там всё в одну точку монтируется через volumes_from
Denis
Вариантов раздать статику два - volumes и HTTP
Denis
Тогда это не микросервисы :) Собрал бы уже в одном контейнере все
Roman
статику отдает nginx, а в контейнер всё через volumes попадает
Denis
Не пришлось бы извращаться с Volumes
Roman
я только начинаю переносить приложение в докер
Denis
Ты можешь несколько Dockerfile хранить
Roman
пока монолит рассекаю
Denis
Например Dockerfile для PHP и Dockerfile.assets для ноды - это в будущем
Roman
у меня нет цели сделать микросервисы с http, тут задача просто упаковать окружение в сборку
Roman
иначе сейчас все окружение вручную настраивается
Denis
А почему один контейнер не подходит?
Denis
Остальные же скрипты по сути только разовые задачи делают
Denis
Потом его разобьешь на два файла
Roman
а как с одним докер файлом? создать именно образ с настроеным окружением?
Denis
Кластеры
Denis
Да
Denis
Потому что volumes это для БД больше или persistent storage (сертификаты и пр)
Roman
я как-то натыкался на крутой шаблон для проектов для докера, но сейчас чёт не могу найти Вы можете порекомендавать какой-нибудь ман, желательно на рус, как идеологически должен compose строиться, я видимо не совсем понял для чего volumes нужгны
__vvch
#whois я тихонько почитать
Denis
я как-то натыкался на крутой шаблон для проектов для докера, но сейчас чёт не могу найти Вы можете порекомендавать какой-нибудь ман, желательно на рус, как идеологически должен compose строиться, я видимо не совсем понял для чего volumes нужгны
Тут вопрос даже близок к организации архитектуры самого приложения, можно углубиться в детали в @nodejs_ru - мы часто там такие вещи, как микросервисы обсуждаем. Сам по себе docker-compose простой. Это скорее можно описать как механизм пакетного запуска/завершения и способ связывания (например, по хостам) контейнеров, например: + https://concourse.ci/docker-repository.html
Oleg
Докер сам поднимает все контейнеры при старте хоста. См так-же run --restart
Stanislav
правильно, но модно ли?)
systemd, не не слышал?
Александр
systemd, не не слышал?
А там скинули выше ссылку, с готовым решением
Alexander
Кто что скажет про драйвера volumes для кластера на swarm? Из того что предлагает docker, пока выделил glusterFS и flocker. Но flocker не поддерживает debian зараза.
Alexander
Судя по вот этой статейке https://habrahabr.ru/post/251931/ . GlusterFS - крутая вещь.
Denis
В блоге Technology Conversations опубликовали обзор Docker Distributed Application Bundles - появившегося в 1.12 формата описания приложений для запуска в Swarm кластере. Пока все очень бедненько и лимитировано, но в конце статьи есть полезная ссылка на проект Whaleprint (http://amp.gs/8USz), расширяющий текущую функциональность Docket DAB. http://amp.gs/8UST
Mihail
https://docs.docker.com/engine/reference/run/#restart-policies-restart
Denis
Плюс тоже самое можно для docker-conpose 👍
Denis
http://blog.nimbleci.com/2016/08/17/how-to-set-up-and-deploy-to-a-1000-node-docker-swarm/
Maxim
Как мне, используя Docker for Windows, попасть на Docker-host по ssh? На всякий случай подчёркиваю, что это не то же самое, что Docker toolbox for windows (или как он там правильно назывался). У меня docker-machine ls выдаёт пустой список.
Sergey
Что значит попасть на docker-host по ssh? Docker for WIndows вроде как должен использовать нативную виртуализацию, хостом должна вроде быть Windows-машина
Maxim
Что значит попасть на docker-host по ssh? Docker for WIndows вроде как должен использовать нативную виртуализацию, хостом должна вроде быть Windows-машина
Там пачка довольно крутых обёрток над сетью, файловой системой и докером. И всё это бесшовно работает, будто хост на windows-машине. Но по факту это всё та же виртуалка под Hyper-V (нативный гипервизор для винды). Вот мне бы в эту виртуалку и хотелось провалиться.
Sergey
docker-machine ls что-нибудь покажет?
Sergey
я всё-таки думаю, что инсталлятор гуишный всё равно будет уже известными тулами пользоваться, так что скорее всего машина та на винде была создана с помощью docker-machine
Sergey
@robox ?
Maxim
docker-machine ls что-нибудь покажет?
> У меня docker-machine ls выдаёт пустой список.
Sergey
печаль. При этом докер запущен и работает?
Sergey
а что хочется сделать на том хосте?
Maxim
На самом деле этот вопрос отчасти отпал уже, но всплыл другой, связанный с этим же: Например, есть тулза Kitematic. Она как-то подсоединяется к docker-демону, который прокидывается на localhost:2376. Мне интересно, каким образом она подключается. Потому что соединение, вроде как, защищенное. Значит, где-то лежат сертификаты (как у docker toolbox). Но я их нигде не могу найти. Сертификаты мне нужны для интеграции docker с PyCharm (или любой другой IDE от JetBrains). Потому что PyCharm при попытке коннекта на localhost:2376 говорит: Cannot connect: [...] Enabled TLS verification (DOCKER_TLS_VERIFY=1) but certificate path (DOCKER_CERT_PATH) is not defined. Сертификаты я, естественно, не подсовываю, ибо у меня никаких их и нет.
Sergey
А точно есть уверенность, что он соединяется с сертификатами?
Sergey
Я так понимаю, можно в PyCharm сделать коннект и без сертификатов
Alexander
кто-нибудь GlusterFS использует?
Sergey
А может, и нет
Maxim
кто-нибудь GlusterFS использует?
смотрел. Очень тормознутая поделка. Сейчас вот хочу ceph потестить