Pull to refresh

Comments 21

Для почти идеальной системы не хватает системы «регистрации» доменов и записей в nginx по поднятию контейнера по его имени или, например, метке. Посмотрите проекты nginx-proxy и docker-flow для примера. С GitLab можно вообще на каждую ветку/mr/таг новое окружение поднимать.

Возможно, проще nginx заменить на traefik. Он умеет динамически на базе меток переконфигурироваться

Поддерживаю traefik — он умеет динамически домены + let's encrypt, docker swarm, поддерживает интеграцию с кучей сервисов, включая логирование. Вдобавок, красивый дашборд. Очень крутая штука

Да, хорошая идея. Но я не в той ситуации, когда это может мне облегчить жизнь (слишком мало всего)

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

Интересное замечание. Спасибо.


Но я дилетант и речь идет о домашней системе, так что...=)

Если я не ошибаюсь, без этого нельзя внутри CI делать docker build.

Ну, во-первых, это не всем нужно.
Во-вторых, внезапно (!) оказалось, что докер-образы можно собирать и без docker daemon. Смотрите в сторону libpod/buildah
В третьих, пес его знает как запускается gitlab-runner, но есть опция использования dind (docker-in-docker)

Привет:)


Да, проброс сокета нужен для билда образов. Это не единственный способ, но он мне показался самым понятным и простым.


Документация

Bind9 тут как из пушки по воробьям. Вполне достаточно было бы dnsmasq.По моему мнению, идеально было бы использовать skydns https://github.com/skynetservices/skydns
Опенсорс тулза, написанная на го, использует etcd для хранения доменов. Т.е очень легко регистрировать новые домены.

Ну, учитывая, что я ничего не понимаю в сабже, я не вижу никакой проблемы в bind9. Установил и настроил за 10 минут, даже не вдаваясь в тех. детали (если не считать проблемы с bonjour). В конечном итоге все сводится к "работает — не трогай"

В dnsmasq та же задача решается путем добавления таких строк в стандартный конфиг


address=/nondv.home/192.168.0.3
address=/3.0.168.192.in-addr.arpa/192.168.0.3

все поддомены вида *.nondv.home будут откликаться на 192.168.0.3

обратную зону стоит добавить, чтобы пинги шустрее шли

Я и не говорил что это проблема :)
Просто предложил варианты попроще.
Если «работает — не трогай», т.е изменятся конфиг не планируется — то всё замечатально и все равно что использовать.
Я лишь хотел сказать: если же прийдется часто добавлять/удалять домены то есть более удобные средства.

За skydns — спасибо, подумаем об использовании в своих проектах.
Но, к слову, bind или named не так уж сложно настроить...

Из простого еще можно было бы CoreDNS заиспользовать. Он тоже на go, но не использует etcd.
Спасибо, тоже гляну что это.
Все контейнеры создавались с флагом --network=host для простоты — достаточно было использовать разные порты в приложениях
Use bridge networks!
Для таких целей они намного удобней. У каждого контейнера будет свой IP, который можно добавить в /etc/hosts. Т.е. не придётся ставить NGinx, Traefik, DNS и т.д.

В общем случае bridges network не отменяет необходимости реверс прокси....

Редактировать hosts удобно, когда есть только один клиентский компьютер.
У меня же помимо ноутбука еще телефон и планшет. DNS нужен в любом случае.


по поводу IP — не вижу, каким образом это могло помочь в моей ситуации. Вместо запоминания портов мне бы пришлось запоминать IP-адреса. --network=host просто работает. Никакие вопросы безопасности меня не интересуют, это моя личная сеть.

Sign up to leave a comment.

Articles