
Alex
23.03.2017
20:40:40
Надо себе такой на стол раздобыть. Постоянно будет напоминать что кит грустнеет как только я начинаю говнокодить и ставить софт на голый сервер :) Кроме докера конечно.
Вспомнился докер имедж гитлаба на секундочку.
Где постгрес и руби в одном контейнере.

Anton
23.03.2017
20:47:40

Google

Alex
23.03.2017
20:52:39
Причем это был первый раз когда я писал композ.

Roquie
23.03.2017
21:17:06

Sander
24.03.2017
07:15:07
я хочу докер купить

Klim
24.03.2017
07:17:43
всю контору чтоли?

Sander
24.03.2017
07:19:47
нет

Klim
24.03.2017
07:32:36
Ааа
Ооо
Я тоже хочу

Artem
24.03.2017
07:34:09
Надо скинуть жене, пускай начинает вязать и продвинуть в этой группе свой инет-магазин с подобными ништяками ?

Sander
24.03.2017
07:37:19
хех
так что где купить
))

Google

Zzepish
24.03.2017
07:49:31

Oleg
24.03.2017
11:26:46
#whois Всем привет! В прошлом работал в SBDA Group, сейчас (совсем-совсем недавно, меньше недели) работаю в Авито, последние полгода очень активно перевожу всю разработку в команде на докер, в связи с этим выстраиваю инфраструктуру и вообще много этим занимаюсь
может кто сталкивался, на Docker for Mac для контейнеров выставляется лимит памяти в 1Гб, даже если выставить флаг -m ?
сначала грешил на docker-compose, но ванильный докер так же игнорирует
нагуглил несколько ишьюс на гитхабе, но они в основном про дебиан

Anton
24.03.2017
11:31:19
кинь команду которой контейнер создаешь

Oleg
24.03.2017
11:41:00
с рестартом докера docker run начал правильный лимит делать, а docker-compose по-прежнему нет
вот кусок docker-compose.yml
version: '2'
services:
container:
build: .
mem_limit: 5G

Anton
24.03.2017
11:43:42
глупый вопрос - у самой виртуалки то 5gb есть?

Oleg
24.03.2017
11:43:49
дефолтная
сейчас гляну

Anton
24.03.2017
11:44:13

Oleg
24.03.2017
11:45:24
та-дам)
нету
спасибо, спас мне пару часов жизни)

Anton
24.03.2017
11:46:03
там еще есть закладка с портами NAT

Oleg
24.03.2017
11:47:22
а что с ними?

Anton
24.03.2017
11:51:44
обычно все забыают

Google

Anton
24.03.2017
11:52:05
и удивляются почему после EXPOSE ничего не работает

Timur
24.03.2017
11:53:44
хочу протестировать, как маршрутизируются запросы между контейнерами на разных серверах в rancher. есть 2 варианта: nginx proxy и встроенный load balancer в rancher. хочу в HTML выдавать номер\имя сервера, чтобы наглядно видеть, куда упал запрос. как-нибудь можно в докере стягивать IP сервера в качестве переменной или еще какие-нибудь уникальные для сервера данные?

Oleg
24.03.2017
11:56:43
проходили)

Maxim
24.03.2017
11:57:37
я хочу докер купить
в украине можно купить тут:
http://toys.simant.com.ua/product/whale_docker.html#details
но думаю не у всех есть возможность там приобрести

тнн Itjunky
24.03.2017
19:53:25
Нифига не понимаю, как сделать так что бы докер не умирал, если у меня там тупо демон апача...
Вешать какой-то пустой sh с бесконечным циклом?

Nick
24.03.2017
19:54:45
Запускать апач не как демона

тнн Itjunky
24.03.2017
19:55:32
это странно =)

Nick
24.03.2017
20:00:29
Чем ж? Процессы внутри докера обычно запускают как раз не демонами

Andrey
24.03.2017
20:17:00

Andrey
24.03.2017
20:17:08
Cmd
Оно должно быть единственным кто запущен внутри контейнера, с логом в stderr
Вообще, апач в 2017м году звучит очень олдскульно

Roman
24.03.2017
20:19:14

Andrey
24.03.2017
20:19:57
По идеологическим причинам
Принцип единой ответственности
Смысл технологии в изоляции компонентов
Никто не мешает напилить все в один контейнер и ссш вывесить
Но эт вагрантоведение какое-то

Google

Anton
24.03.2017
20:52:46
Почему?
По сути они как демоны работают, но демонизация происходит не внутри контейнера, её делает докер. А внутри контейнера всё выглядит так, будто целевой процесс (апач, например) запущен монопольно. Т.е. при "загрузке" системы вместо init стартует сразу апач.

Roman
24.03.2017
21:03:01
Получается такая продвинутая консолька, которая все делает сама?
Как например nginx + php-fpm засунуть? Таким же образом?

Nick
24.03.2017
22:06:11
Два контейнера
Два процесса имеет смысл поднимать, если один без другого не может работать. К примеру для service discovering

Yevhen
25.03.2017
05:36:39


Михаил
25.03.2017
15:26:43
Вроде простой вопрос, но столько сложностей.
Есть сворм, в котором бежит веб-сервис. Без разницы, replicated или global режим. Снаружи коннектится клиент. В сервисе видно IP клиента как 10.255.х.х, что видимо является внутренним адресом шлюща overlay-сети. Вопрос: как сервису увидеть реальный IP?
У меня два решения но оба костыльные
1) сделать внешний реверс прокси, вне сворма, в нем проставлять X-Real-IP
2) вроде как можно публиковать порт с параметром mode=host, тогда он будет биндиться только на текущей ноде, но на реальном интерфейсе, тогда по идее будет реальный IP. Но это накладывает ряд ограничений: нельзя пока использовать docker stack deploy с этим mode=host, придется отдельно делать docker service create/update со всеми опциями; ну и собственно лишаешься routing mesh-a, и сервис обязательно придется ставить в global-режим
Короче, думаю кто сворм юзал, сталкивались с этой проблемой, как решали?


Igor
25.03.2017
15:41:13
https://github.com/docker/docker/issues/25526 похоже ты нашел очередную больную тему
почитай там где ближе к концу есть ответы которые вроде помогают некоторым, но как я понял, проще бахнуть nginx гдето и им реверсить на сервисы в сварме передавай доп хидер

V
26.03.2017
08:21:43
А как вы обосновываете выбор между kubernates и docker?

Igor
26.03.2017
09:14:43
имеешь ввиду между kubernates и docker swarm mode? потому что выбор между kubernetes и docker очевиден, нет кластера не нужен и kubernates

Ssi
27.03.2017
06:02:25
Приветы. Хочу вывести в переменную в баше порт , который прокидывается в контейнер(с постгресом в моём случае). Если IP контейнера я легко достал, отформатировав вывод docker inspect, то с портом проблема.
export POSTGRES_CONTAINER_IP=$(docker inspect —format '{{ .NetworkSettings.IPAddress }}' $(docker ps —format "{{ .ID }}" —filter 'name'="$POSTGRES_CONTAINER_NAME"))
export POSTGRES_CONTAINER_PORT=$(docker inspect —format '{{ .NetworkSettings.Ports."5432/tcp".HostPort }}' $(docker ps —format "{{ .ID }}" —filter 'name'="$POSTGRES_CONTAINER_NAME"))
собственно, ругается на 5432/tcp

Andrey
27.03.2017
08:04:50
то есть ты не знаешь какой порт будет?
открывай все порты

Google

Andrey
27.03.2017
08:05:18
предлагаю прописать портянку из EXPOSE 1 ... EXPOSE 65535
гарантированно даст все порты

Oleg
27.03.2017
08:05:34
докер умеет открывать рейндж портов

Andrey
27.03.2017
08:05:51
да-да, но портянка рулит)

Oleg
27.03.2017
08:05:57
а задачу попонятнее еще раз можно? Ssi
честно говоря не понял, что ты хочешь
у докера кажется даже есть опция -P, которая маппит все порты
без рейнджа

Ssi
27.03.2017
08:07:04

Andrey
27.03.2017
08:07:59
как бы звучит уже странно
запускать сервис в докере с рандомным портом

Ssi
27.03.2017
08:08:22
на самом деле, я нашёл решение, но спасибо :)
export POSTGRES_CONTAINER_PORT=$(docker inspect —format '{{(index (index .NetworkSettings.Ports "5432/tcp") 0).HostPort}}' $(docker ps —format "{{ .ID }}" —filter 'name'="$POSTGRES_CONTAINER_NAME"))
вопрос был в том, как бы так пофильтровать, что вернулся порт

Andrey
27.03.2017
08:09:55
а что за задача стояла?

Ssi
27.03.2017
08:10:42
вставить порт в переменную окружени
чтоб потом из приложения его прочитать.