@ru_docker

Страница 304 из 610
Denis
12.03.2017
13:08:31
доступность видят оставщиеся менеджеры

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

допустим у меня 30 парсеров по 10 на ноду, одна выпала, стало 20 , проголосвали, подняли еще по 5 инстансов до 30

это автоматически

Google
Denis
12.03.2017
13:11:55
проблема в том , что когда нода поднимается и приходит в себя ) на нее нагрузка не размажется

и она не сможет взять назад менеджера

тоесть будет пустая пока ты не сделаешь service scale и вручную не отдаешь ей права главного

ptchol
12.03.2017
13:13:57
менеджеры сами решают кто главный
пока их есть нужное вол-во

Denis
12.03.2017
13:14:21
даже один решит что он главный когда никого не станет )

ptchol
12.03.2017
13:14:36
а когда и его не станет ?

Denis
12.03.2017
13:14:47
то иди мыль зад ) и к директору

ptchol
12.03.2017
13:15:22
тоесть на самом деле то, что я и сказал, мы должны сами контролировать доступность менеджеров и докидывать их при необходимости.

Denis
12.03.2017
13:15:59
что у тебя случиться что упадут сразу 3 менеджера ? ну сделать 4 в разных ДЦ

менеджер может просто управлятьи не принимать контейнеры

ptchol
12.03.2017
13:16:33
да дело не в "упадут" а в "хочу сворм на спот инстансах"

Denis
12.03.2017
13:16:54
кроилово ) ведет к поподалову

никто не мешает тебе каждую ноду делать менеджером

Google
ptchol
12.03.2017
13:17:16
долго рафт сходится будет, не ?

Denis
12.03.2017
13:17:22
менеджер так же исполняет контейнеры

я бы сделал так , взял инстанс микро

поставил туда главного

ptchol
12.03.2017
13:18:01
микро плохо, там сеть уг.

Алексей
12.03.2017
13:18:10
Пчол, копай сам. Видишь же пациент в другом уровне абстракции.

ptchol
12.03.2017
13:18:14
у нас тут зк покрутились на микро.... наелись...

Алексей
12.03.2017
13:19:30
Ну пчол про конкретные технологии а ты про 'сам'

Похоже на разговор менеджера и технаря

Denis
12.03.2017
13:20:37
:) ну я пытался как мог

ptchol
12.03.2017
13:20:47
я просто думал сворм как раз такой типа сам двигается, сам скейлится, сам реаллокейтится

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

Похоже на разговор менеджера и технаря
А ты кстати сворм гоняешь ?

Алексей
12.03.2017
13:22:58
Хочу. Но пока не могу

И к меня точно нет спотинстансов

ptchol
12.03.2017
13:23:30
ну ясики.

Denis
12.03.2017
13:23:44
а сейчас сижу доку читаю и как то там не очень он самостоятельный, и в "диком" облаке аля спот инстансы где половина нод могут взять и сдохнуть разом, без посторонней помощи походу сворм не выживет
тебе надо контролировать что бы хотя бы 1 менеджер жил всегда, я бы его просто для управлния посадил на микро , а всех остальных на спорты

микро у тебя точно не умрет

Алексей
12.03.2017
13:24:00
Хзхзхз

Google
Алексей
12.03.2017
13:24:18
Пчол, сколько спотов?

Denis
12.03.2017
13:24:24
в сравнении со спотами он маклауд

Алексей
12.03.2017
13:24:44
Ибо больше нод больше памяти

Ну и делов тоже больше

Планирование скейла, расчеты всякие

ptchol
12.03.2017
13:34:00
Пчол, сколько спотов?
а я вот сейчас выбираю какие бы инстансы подошли..

порядка 30 получается

30-35

Lomakin
12.03.2017
17:47:37
Коллеги прошу помощи, я начинающий можете тапочком похлопать ? задали лабу сделать не могу найти ошибку при сборке?

FROM node:7-onbuild RUN mkdir -p /docker WORKDIR /docker RUN git clone https://github.com/acc-cloudaccess/app.git #COPY git clone https://github.com/acc-cloudaccess/app.git RUN npm install EXPOSE 8080 CMD [ "npm", "start" ]

при сборке контейнера получаю Step 1/1 : COPY package.json /usr/src/app/ lstat package.json: no such file or directory

Code
12.03.2017
18:23:25
при сборке контейнера получаю Step 1/1 : COPY package.json /usr/src/app/ lstat package.json: no such file or directory
npm пытается установить пакеты из /usr/src/app/package.json в Dockerfile этого пути нет, значит это делает образ node:7-onbuild Просто скопируйте файлы не в /docker а в /usr/src/app

Code
12.03.2017
18:23:58
RUN npm install можно удалить

Lomakin
12.03.2017
18:40:07
А как это описать?

А как это сделать в Dockerfile?

Code
12.03.2017
18:57:50
А как это сделать в Dockerfile?
Как я понял, образ node:7-onbuild полностью автоматический. Достаточно в Dockerfile две строки: FROM node:7-onbuild EXPOSE 8080 и собираем контейнер docker build . Я не тестировал, не могу уверенно сказать что будет работать

Lomakin
12.03.2017
19:08:20
Просто мне в лабе препод вот, что написал. Необходимо организовать тестовый связанный сервис (web-сервер + app-сервер) на базе двух Docker контейнеров. Всю работу выполнить исключительно при помощи Dockerfile и Docker compose. Предоставить результат в виде: - Dockerfile для app-сервера - Dockerfile для web-сервера - Docker compose для итогового связанного сервиса Пункты: 1. Необходимо организовать app-сервер (контейнер Docker) на базе платформы nodejs: - в качестве базового образа docker использовать официальный образ «node:7-onbuild» - код для app-сервера («Hello World») взять из публичного git-репозитория https://github.com/acc-cloudaccess/app.git - app-сервер должен быть доступен только внутри сети контейнеров 2. Необходимо организовать web-сервер (контейнер Docker) на базе nginx: - в качестве базового образа docker использовать официальный образ «nginx» - настроить nginx таким образом, чтобы он принимал http трафик на порт 80 и осуществлял перенаправление всего трафика на app-сервер. Допускается использование конфигурационного файла для настройки nginx совместно с Dockerfile. - web-сервер должен быть доступен снаружи сети контейнеров по порту 9000 3. Необходимо организовать связанный сервис из полученных контейнеров Docker на базе Docker compose: - web-сервер должен быть доступен снаружи сети контейнеров по порту 9000 - контейнер web-сервера должен стартовать только при условии доступности app-сервера

Code
12.03.2017
19:10:25
Я до Docker compose еще не дошел.

А насчет сервера, вот эту сборку я тестировал. https://github.com/jwilder/nginx-proxy На автомате привязывает домены к контейнерам. Запускам контейнер с сервером docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy затем второй контейнер запускаем с параметром -e VIRTUAL_HOST=foo.bar.com Где foo.bar.com - доменное имя. Больше делать ничего не нужно. Так же в репозитории есть пример с Docker compose.

Lomakin
12.03.2017
19:17:26
Кстати убрал все и оставил как ты говорил две строчи в Dockerfile ошибка повтарилась

Google
Code
12.03.2017
19:17:39
что за ошибка?

Admin
ERROR: S client not available

Code
12.03.2017
19:18:13
> Step 1/1 : COPY package.json /usr/src/app/ Эта чтоль?

Lomakin
12.03.2017
19:18:19
Ага

Code
12.03.2017
19:18:53
а в директории с проектом есть packages.json?

Lomakin
12.03.2017
19:22:48
Так мне его надо из репы дернуть RUN git clone https://github.com/acc-cloudaccess/app.git

Code
12.03.2017
19:24:21
Тогда начем с начало. На локалку(или сервер) клонируем репозиторий и переходим в папку git clone https://github.com/acc-cloudaccess/app DockerApp cd DockerApp Создаем Dockerfile с содержанием: FROM node:7-onbuild EXPOSE 3000 порт открываем 3000 потому что nodejs сервер стартует на этом порту Далее собираем: docker build -t dockerapp . И запускаем: docker run -p -d 80:3000 dockerapp Проверяем в браузере на localhost:80

Алексей
12.03.2017
19:25:23
@geekfil надюсь ты препод @kamelotnsk и не примешь зачет.

Code
12.03.2017
19:27:32
@geekfil надюсь ты препод @kamelotnsk и не примешь зачет.
Да куда мне до препода.)) Я около недели осиливал Docker и Dokku, мозг кипит, но более-менее уверенно уже пользуюсь. Осталось еще недельку на Docker-compose убить и еще недельку чтобы все это деплоить научится за 10 минут

И все ради того чтобы научится быстро поднимать сайты на Django

Lomakin
12.03.2017
19:29:05
2 академ часа в пятницу и к понедельнику сделать лабу ?

Code
12.03.2017
19:30:14
Не страшно не сдать, страшно - не знать)

Пригодится же все это потом, раз преподы такие задания дают

пример что выше подкорректирвоал. -d и -p местами поменял

вобщем вот. работает



Vadim
13.03.2017
08:33:52
Вот такую штуку форвардну вам, надеюсь в тему :)

Приходите 22 марта в Avito на второй Moscow Kubernetes meetup!https://www.meetup.com/Moscow-Kubernetes-Meetup/events/238321060/

Igor
13.03.2017
08:45:10
можно ещё в @kubernetes_ru форварднуть

Google
Vadim
13.03.2017
08:46:14
о, не знал про такой, спасибо

а, там организатор митапа промышляет, только пока анонс не писал, не буду встревать хотя нет, писал

Oleg
13.03.2017
09:29:35
Всем привет. Есть проблема на одном хосте с докером: root@host:~# docker exec -ti some_container echo 1 rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:1153: sending signal 0 to pid 23195 caused "permission denied" Может кто сталкивался?

На других хостах всё норм.

ЧЯДНТ?

Constantine
13.03.2017
09:32:08
docker ps показывает контейнеры?

плюс попробуй echo 1 в кавычки

Oleg
13.03.2017
09:35:06
плюс попробуй echo 1 в кавычки
да там если bash экзекать — тоже говно

Может из-за apparmor?

zigmund
13.03.2017
14:02:01
Всем привет. Есть проблема на одном хосте с докером: root@host:~# docker exec -ti some_container echo 1 rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:1153: sending signal 0 to pid 23195 caused "permission denied" Может кто сталкивался?
Попробуй скормить рута экзеку. Экзек по-умолчанию выполняет команды от пользователя, указанного в Dockerfile. И это... Я не уверен, и сейчас не могу проверить, но разве echo - это бинарник, а не команда шелла? Попробуй выполнить bash -c echo 1

Страница 304 из 610