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 я тихонько почитать
Oleg
Докер сам поднимает все контейнеры при старте хоста. См так-же run --restart
Stanislav
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-машина
Sergey
docker-machine ls что-нибудь покажет?
Sergey
я всё-таки думаю, что инсталлятор гуишный всё равно будет уже известными тулами пользоваться, так что скорее всего машина та на винде была создана с помощью docker-machine
Sergey
@robox ?
Sergey
печаль. При этом докер запущен и работает?
Maxim
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. Сертификаты я, естественно, не подсовываю, ибо у меня никаких их и нет.
Maxim
Sergey
А точно есть уверенность, что он соединяется с сертификатами?
Maxim
Sergey
Я так понимаю, можно в PyCharm сделать коннект и без сертификатов
Alexander
кто-нибудь GlusterFS использует?
Sergey
А может, и нет