@docker_ru

Страница 112 из 1375
Alex
14.03.2017
19:46:27
надо через nginx как-то шерить?
Нет. Надо завести энджинкс как реверс прокси для твоего сервера, а потом твой server должен отдавать энджинксу эти картинки. Я бы поднял rest api в server. Такая же концепция, как flask + nginx. Flask пекеджится в uwsgi сервер, который через сокет общается с энджинксом. Все красиво.

При условии, что энджинкс тебе вообще нужен.

Если нет, просто подними рест на ноде и отдавай обратно картинку, которую ты достаешь в коде из файла на сервере.

Джон
14.03.2017
19:47:54
ага понял, для реста нгинкс мне не нужен, в принципе..

Google
Джон
14.03.2017
19:48:28
получается, мне нужно сделать просто через fs.createReadStream() доступ к файлам?

Alex
14.03.2017
19:49:00
ага понял, для реста нгинкс мне не нужен, в принципе..
Он тебе нужен если у тебя продакшн и тебе нужна функциональность например всякие ссл хитрые редиректы реверс прокси и тп. Если доморощенный проект - нафиг.

Джон
14.03.2017
19:49:37
а ок ) немного прояснилось в любом случае, спасибо )) пошел ковырять

Alex
15.03.2017
07:25:42
Roquie
15.03.2017
07:57:08
Всем привет! Кто сталкивался со статикой для докера? Помогите с выбором решения. Что имеем: 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
15.03.2017
08:01:18
а зачем второй nginx вообще? почему сразу не лезть в php-fpm с первого nginx?

Nikolay
15.03.2017
08:04:28
обычно применяют data-only контейнеры в таком случае, которые маунтятся куда нужно через —volumes-from

Roquie
15.03.2017
08:12:30
? В группе есть традиция - представляться при входе: ▫️Какой у вас проект или где работаете? ▫️В чём вы специалист? ▫️Чем можете быть интересны или полезны сообществу? ▫️Чем интересно сообщество вам? ▫️Откуда вы? ▫️Как узнали про группу? В сообщении нужно указать тэг #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
15.03.2017
08:32:12
обычно применяют data-only контейнеры в таком случае, которые маунтятся куда нужно через —volumes-from
не рекомендуют ведь data-only контейнеры, рекомендуют использовать volume

а вообще для чего это?

Google
Petr
15.03.2017
08:32:34
я просто монтирую папку через -v

Nikolay
15.03.2017
08:34:23
не буду спрашивать, где вы видели такие рекомендации. Смысл мною сказанного в том, что если нужно использовать одну и ту же информацию в разных контейнерах хорошим решением является создать data-only контейнер, в нем сделать Volume и этот самый volume использовать в обоих контейнерах

мы так делаем для проброса сгенеренной статики из контейнера с фронтом в nginx

и это не противоречит вашей практике, а дополняет ее. Или нет.

Nikolay
15.03.2017
08:41:15
речь не идет о хранении данных в контейнере.

и обычно data-only делают FROM tianon/true, который занимает несколько байт. И там нет вообще ничего. Только том, накотором хранятся данные, и его можно пробросить на хост, и/или в другие контейнеры

Artem
15.03.2017
08:43:01
а чем это лучше одной директории которая замонтирована на оба контейнера?

Nikolay
15.03.2017
08:43:23
это как?

Artem
15.03.2017
08:43:31
через -v

когда с хоста на оба контейнера монтируем одну и ту же директорию и данные никуда не пропадут и доступна с обоих контейнеров

Nikolay
15.03.2017
08:44:56
дело в том, что докер оперирует понятием volume для хранения данных

когда вы говорите "папка" и -v, вы имеете в виду то, что докер положит вольюм не к себе в /var/lib/docker, а в указанное место.

когда вы делаете -v той же папки в другой контейнер, вероятно, происходит то же что я говорю. Простоэто не очень хорошо с точки зрения архитектуры. Потому, что вы не можете наверняка сказать, к какому из двух контейнеров прикреплен этот вольюм, пока не посмотрите docker inspect

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

то есть контейнер с nginx и npm гораздо удобнее обновлять, и вообще стартовать можно сразу с —rm

Artem
15.03.2017
08:48:14
так в случаем замонтированного volume с хоста, так же можно дропать любой контейнера и директория замаунченная никуда не денется

т.к. замонтированные волюмы не очищаются при удалении контейнера

Nikolay
15.03.2017
08:49:39
это верно. А рано или поздно наступает ситуация, когда на хосте заканчивается место, и мы начинаем его чистить с помощью всяких скриптов (говорят в 17.03 появилась чистилка внутри)

Google
Nikolay
15.03.2017
08:50:05
и тогда, когда мы запускаем очистку известными командами, удаляются и тома.

в общем, я говорю про архитектуру приложения. И считаю так делать удобнее.

Artem
15.03.2017
08:52:42
ну на продакшене возможно, у нас маунты с хоста только на тест окружении, на проде через все через persistent volume кубернетеса.

т.к. там диск хоста ноды как раз очищается при каждом обновлении

в gke

Nikolay
15.03.2017
08:55:11
в aws так же.

смысл же в том, что volume скалдываются на Presistent volume?

в общем, тут нет универсального рецепта. Каждый видит архитектуру по своему.

Artem
15.03.2017
08:56:29
ну у нас persistent volume это экспорты с nfs-сервера

Oleg ?
15.03.2017
09:08:27
Ребят привет

подскажите

собираю образ из убунты, ставлю пакет bash-completion

но tab не работает внутри контейнера

(

почему так7

Artem
15.03.2017
09:20:39
а в контейнер каким образом попадаешь?

по ssh или exec?

Andrey
15.03.2017
09:51:39
официальная документация докера до сих пор указывает на дата-онли контейнерс

Google
Dmitriy
15.03.2017
10:02:41
где?

Вот это? https://docs.docker.com/engine/tutorials/dockervolumes/#creating-and-mounting-a-data-volume-container

Ростислав
15.03.2017
10:06:13
подскажите пожалуйста, почему я устанавливаю докер у меня версия 17.03, смотрю какие-то доки там требуется 1.2,

что с версиями не так?) откуда такая пропасть между 1.2 и 17.03 ?)

а еще вроде 18 есть

Gleb
15.03.2017
10:06:45
Новая нумерация версий

Dmitriy
15.03.2017
10:06:52
Не успели доки обновить, они только неделю назад сменили версионирование 17 год 3 месяц

Ростислав
15.03.2017
10:14:06
спасибо)

Oleg ?
15.03.2017
10:23:11
решил путем раскомментирования строк в bash.bashrc

Nikolay
15.03.2017
12:27:01
Alexander
15.03.2017
17:04:56
Парни, вангую что такое уже сто раз обсуждали, но все таки - скажите, как лучше всего прокинуть ssh ключ в контейнер, да еще если ключ с паролем

Заводить специальный ключ без пароля как то не очень нравится идея

Bogdan (SirEdvin)
15.03.2017
17:12:57
Есть Rocker

В котором есть mount

И можно при сборке интерактивы устраивать

Nikolay
15.03.2017
17:28:01
в докер ЕЕ вроде сделали какое-то решение для этого?

Alexander
15.03.2017
17:30:25
Подмонтировать ключ не проблема, а вот ssh-add неинтерактивно что-то не выходит

Roquie
15.03.2017
18:35:02
Черт побери! Телеграм глюкнул, не получал уведомлений! Пока из обсуждения, все сводится к варианту с data-only контейнерами, да и с ними проще осуществлять сборку и доставку на прод через registry…

Nikolay
15.03.2017
18:35:49
и описывать инфраструктуру будет проще

Google
Andrey
15.03.2017
18:38:35
Парни, вангую что такое уже сто раз обсуждали, но все таки - скажите, как лучше всего прокинуть ssh ключ в контейнер, да еще если ключ с паролем
Использовать Docker secrets: http://avmaksimov.ru/2017/02/14/docker-secrets-%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D0%B5-%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BB%D0%B8%D1%89%D0%B5-%D0%B4%D0%BB%D1%8F-%D1%87%D1%83%D0%B2%D1%81%D1%82%D0%B2%D0%B8%D1%82/

Alexander
15.03.2017
18:51:42
Да, но как это поможет мне с ключами, у которых есть пароль?)

сам ключ прокинуть в принципы проблемы нет, проблема возникает, когда надо сделать bundle install (npm/go get и тд) из приватного репозитория

а у ключа пароль

Nikolay
15.03.2017
18:59:25
если нет возможности ввести этот пароль интерактивно, то есть ли в этом пароле вообще смысл?

его все-равно придется как-то или через что-то передавать.

Alexander
15.03.2017
19:00:57
тоже верно, просто тревожно на душе, что ключ с доступом на чтение ко внутренним проектам будет лежать без пароля

если например сделать просто отдельный ключ под контейнер

Nikolay
15.03.2017
19:02:03
а что мешает добавлять чувствительные данные в CI системе?

Alexander
15.03.2017
19:03:03
ну вообще сейчас цель была переехать с вагранта на докер в разработке, пока даже не ci

Nikolay
15.03.2017
19:03:08
любая CI умеет защищенно хранить креденшиалы. Взяли базовый образ, сделали сборку, выложили в приватный реп.

Alexander
15.03.2017
19:03:24
отсюда кейс, что у разных разработчиков разные ключи

но тк ssh форвардинг докер не умеет

Nikolay
15.03.2017
19:03:44
а как насчет использования deveploment_keys?

Страница 112 из 1375