Джон
ребят как получить доступ к файлу внутри volume из node-приложения? подскажите хоть как гуглить правильно
Alex
Так, стоит пробовать заводить композ с питоном, монгой и энджинксом на 512 мб памяти или лучше не напрягаться?
Джон
наверное я задаю глупые вопросы, но больше не знаю у кого спросить
Джон
пойду в node.js спрошу..
Alex
У меня красивый /tmp вольюм с сокетами например, туда монга, питон и uwsgi ходят.
Джон
это метеор приложение, которое деплоится через тулзу meteor up, там в конфиге пишу volumes: { "/home/photos": "/home/photos", // passed as '-v /home/photos:/home/photos' to the docker run command }, не знаю как проверить. Пробовал запросить файл прям из браузера http://myhost/home/photos/file.png, ничего не отдало
Джон
вот как проверить не знаю точно, как оно маунтится
Джон
мне надо как-то ссылку на файл записать в монго, чтобы потом на фронте использовать
Alex
мне надо как-то ссылку на файл записать в монго, чтобы потом на фронте использовать
Так то, что оно в контейнере лежит в /home/photos нихрена не значит что оно в браузере там же лежит.
Alex
Если у тебя рут вебсервера в / (что я не рекомендую), то возможно оно будет работать.
Джон
надо через nginx как-то шерить?
Джон
Джон
server это мое приложение
Alex
надо через nginx как-то шерить?
Нет. Надо завести энджинкс как реверс прокси для твоего сервера, а потом твой server должен отдавать энджинксу эти картинки. Я бы поднял rest api в server. Такая же концепция, как flask + nginx. Flask пекеджится в uwsgi сервер, который через сокет общается с энджинксом. Все красиво.
Alex
При условии, что энджинкс тебе вообще нужен.
Alex
Если нет, просто подними рест на ноде и отдавай обратно картинку, которую ты достаешь в коде из файла на сервере.
Джон
ага понял, для реста нгинкс мне не нужен, в принципе..
Джон
получается, мне нужно сделать просто через fs.createReadStream() доступ к файлам?
Alex
ага понял, для реста нгинкс мне не нужен, в принципе..
Он тебе нужен если у тебя продакшн и тебе нужна функциональность например всякие ссл хитрые редиректы реверс прокси и тп. Если доморощенный проект - нафиг.
Джон
а ок ) немного прояснилось в любом случае, спасибо )) пошел ковырять
roquie
Всем привет! Кто сталкивался со статикой для докера? Помогите с выбором решения. Что имеем: 1. SPA-приложение, которое собирается npm и складывается в папку dist 2. API-приложение с php-fpm упакованное в контейнер 3. nginx который зависит от api-приложения Проблема: Статика, по сути, ничего не исполняет, оборачивать её в контейнер сомнительно. Но весьма удобно обернуть её в контейнер с nginx и выкачать с registry (билд выполняет CI), чтобы запустилось и работало без танцев с бубном. Имея один nginx со статикой, возникает вопрос о том, что делать со вторым nginx-ом, который настроен под API. Решение: 1. Поставить rsync на CI-сервер, замаунтить папку с собранной статикой на прод. сервер где файлы уже подцепит основной nginx. 2. Проксировать с одного nginx на другой. ...может есть best practice какой?
Maxim
а зачем второй nginx вообще? почему сразу не лезть в php-fpm с первого nginx?
Nik
обычно применяют data-only контейнеры в таком случае, которые маунтятся куда нужно через —volumes-from
roquie
🔵 В группе есть традиция - представляться при входе: ▫️Какой у вас проект или где работаете? ▫️В чём вы специалист? ▫️Чем можете быть интересны или полезны сообществу? ▫️Чем интересно сообщество вам? ▫️Откуда вы? ▫️Как узнали про группу? В сообщении нужно указать тэг #whois 🔵 Правила чата: 🚫 Публикация вакансий запрещена 🚫 Реклама запрещена 🚫 Политика запрещена 🚫 Флуд и непрофессиональное поведение запрещено За несоблюдение правил - одно предупреждение, далее следует бан. Вакансии и запросы на поиск работы публикуем в группе @devops_jobs. Формат любой: full-time, part-time, remote и разовые подработки. Также обмениваемся инсайдами и аналитикой по рынку труда. Здесь общаемся на темы, посвященные Docker, Docker Swarm и всей экосистеме. Задаем вопросы, решаем проблемы и обмениваемся новостями. Параллельно с этой группой развивается: 🔸@kubernetes_ru - посвященная Kubernetes (он же K8s), его конфигурации и обновлению. Задаём вопросы, обсуждаем идеи, решаем проблемы, делимся новостями и т.д. 🔸@devops_ru - активно общаемся на темы, посвященные DevOps, Docker, Mesos, DC/OS, CoreOS, Clouds и т.д. 📡 Возможно, вам также будут интересны группы: @nodejs_ru, @react_js, @angular_js, @javascript_jobs, @reactnative_ru, @ios_ru, @android_ru, @mobile_jobs. Приятного общения!
#whois #roquie 1. Туристические услуги, поиск, бронирование, выписка авиа/жд/отелей. Эквайринг. Работаю в Travel Management consulting. 2. Full stack разработчик web-приложений. PHP, Laravel, Postgres, Vuejs, Unix, CI/CD-integration. 3. Докер использую на продакшене и для dev-разработки, по многим обычным вопросам смогу ответить. 4. Узнать что-то новое, задавать вопросы где происходит тупняк или вдруг разыгралось чувство прекрасного :) 5. Москва. 6. Был тут месяца 3-4 назад. А до этого гуглил.
Petr
обычно применяют data-only контейнеры в таком случае, которые маунтятся куда нужно через —volumes-from
не рекомендуют ведь data-only контейнеры, рекомендуют использовать volume
Petr
а вообще для чего это?
Petr
я просто монтирую папку через -v
Nik
не буду спрашивать, где вы видели такие рекомендации. Смысл мною сказанного в том, что если нужно использовать одну и ту же информацию в разных контейнерах хорошим решением является создать data-only контейнер, в нем сделать Volume и этот самый volume использовать в обоих контейнерах
Nik
мы так делаем для проброса сгенеренной статики из контейнера с фронтом в nginx
Nik
и это не противоречит вашей практике, а дополняет ее. Или нет.
Bogdan (SirEdvin)
К тому же, хранить в контейнере данные - весьма и весьма опасно.
Nik
речь не идет о хранении данных в контейнере.
Nik
и обычно data-only делают FROM tianon/true, который занимает несколько байт. И там нет вообще ничего. Только том, накотором хранятся данные, и его можно пробросить на хост, и/или в другие контейнеры
Artem
а чем это лучше одной директории которая замонтирована на оба контейнера?
Nik
это как?
Artem
через -v
Artem
когда с хоста на оба контейнера монтируем одну и ту же директорию и данные никуда не пропадут и доступна с обоих контейнеров
Nik
дело в том, что докер оперирует понятием volume для хранения данных
Nik
когда вы говорите "папка" и -v, вы имеете в виду то, что докер положит вольюм не к себе в /var/lib/docker, а в указанное место.
Nik
когда вы делаете -v той же папки в другой контейнер, вероятно, происходит то же что я говорю. Простоэто не очень хорошо с точки зрения архитектуры. Потому, что вы не можете наверняка сказать, к какому из двух контейнеров прикреплен этот вольюм, пока не посмотрите docker inspect
Nik
а основной плюс отдельного контейнера в том, что в соответствии с философией докера, вы можете без всяких заморочек полностью дропать любой из контейнеров без данных
Nik
то есть контейнер с nginx и npm гораздо удобнее обновлять, и вообще стартовать можно сразу с —rm
Artem
так в случаем замонтированного volume с хоста, так же можно дропать любой контейнера и директория замаунченная никуда не денется
Artem
т.к. замонтированные волюмы не очищаются при удалении контейнера
Nik
это верно. А рано или поздно наступает ситуация, когда на хосте заканчивается место, и мы начинаем его чистить с помощью всяких скриптов (говорят в 17.03 появилась чистилка внутри)
Nik
и тогда, когда мы запускаем очистку известными командами, удаляются и тома.
Nik
в общем, я говорю про архитектуру приложения. И считаю так делать удобнее.
Artem
ну на продакшене возможно, у нас маунты с хоста только на тест окружении, на проде через все через persistent volume кубернетеса.
Artem
т.к. там диск хоста ноды как раз очищается при каждом обновлении
Artem
в gke
Nik
в aws так же.
Nik
смысл же в том, что volume скалдываются на Presistent volume?
Nik
в общем, тут нет универсального рецепта. Каждый видит архитектуру по своему.
Artem
ну у нас persistent volume это экспорты с nfs-сервера
Oleg
Ребят привет
Oleg
подскажите
Oleg
собираю образ из убунты, ставлю пакет bash-completion
Oleg
но tab не работает внутри контейнера
Oleg
(
Oleg
почему так7
Artem
а в контейнер каким образом попадаешь?
Artem
по ssh или exec?
Cin
и в продолжение http://stackoverflow.com/questions/36011595/docker-named-volumes-vs-doc-data-only-containers
🦠
официальная документация докера до сих пор указывает на дата-онли контейнерс
Cin
где?
Cin
Вот это? https://docs.docker.com/engine/tutorials/dockervolumes/#creating-and-mounting-a-data-volume-container
Ростислав
подскажите пожалуйста, почему я устанавливаю докер у меня версия 17.03, смотрю какие-то доки там требуется 1.2,
Ростислав
что с версиями не так?) откуда такая пропасть между 1.2 и 17.03 ?)
Ростислав
а еще вроде 18 есть
Gleb
Новая нумерация версий
Cin
Не успели доки обновить, они только неделю назад сменили версионирование 17 год 3 месяц
Ростислав
спасибо)