
Artem
25.08.2017
08:06:35
плюс в гитлабе же из коробюки сейчас и приватный докер регистри
удобно имаджи деливерить

Mikhail
25.08.2017
08:07:13
и гитлаб на своих серверах гоняете или бесплатный gitlab.com?

Artem
25.08.2017
08:07:27
на своих

Google

Artem
25.08.2017
08:07:35
он там с полпинка запускается одним скриптом
ну и установкой с их родной репы

Mikhail
25.08.2017
08:20:18
c CI направление движения понятно, спасибо!
по локальной разработке:
- чтоб не билдить контейнеры надо сделать тома с кодом,
- контейнер с тестовой логикой... как он работает хоть примерно?
у кого-то настроены интеграционные тесты swarm на девелоперской машине?

Nick
25.08.2017
08:22:40

Mikhail
25.08.2017
08:22:48
не, руби


Zlokot
25.08.2017
08:23:09
вопрос помониторингу докера с помощью Прометея - запустил контейнер с прометеем и простеньким конфигом для теста:
- job_name: 'prometheus'
scrape_configs:
static_configs:
- targets: ['localhost:9090','192.168.100.1:9090']
второй IP уже потом добавил для проверки - это сам хост с контейнером.
в общем в вебморде для ендпоинта этого state == Down для обоих таргетов.
c очень странной ошибкой для localhost:
Get http://192.168.100.33:9090/metrics: dial tcp 192.168.100.33:9090: getsockopt: no route to host
что это за IP я не пойму - в сети его нет
а для второго таргета тоже самое:
Get http://192.168.100.1:9090/metrics: dial tcp 192.168.100.1:9090: getsockopt: no route to host
хотя их самого контейнера команда wget -O- localhost:9090/metrics
- выдает все метрики
а для
/prometheus # wget -O- 192.168.100.1:9090/metrics
Connecting to 192.168.100.1:9090 (192.168.100.1:9090)
wget: can't connect to remote host (192.168.100.1): No route to host
хотя пинг на этот ip есть
поменял таргет с localhost на 127.0.0.1 - заработало и статус стал UP.
но вот почему для самого IP не работает - непонятно. хотя пинг же есть.


Artem
25.08.2017
08:28:07
потому что проброс порта вешается не на этот айпи
либо локалхост либо интерфейс докера
172.х.х.х

Zlokot
25.08.2017
08:29:19
эм.. а почему это так происходит и что проверить чтобы убедиться чт это именно так?

Artem
25.08.2017
08:31:09
ну попробуй в компоузе изменить
ports:
- 9090:9090
на
ports:
- 192.168.100.1:9090:9090

Zlokot
25.08.2017
08:32:03
так у меня нету компоуз файла. я просто делаю doсker run

Google

Artem
25.08.2017
08:32:12
ну значит в нем
-p параметр

Zlokot
25.08.2017
08:32:29
а точно
то есть ICMP проходит нормально, а обращение на порт - уже надо фиксить..

Artem
25.08.2017
08:33:36
так icmp и будет ходить
форварда нет если не указать конкретно тот адрес
т.е. если ты снаружи будет стучаться или с другого хоста он его найдет, а изнутри надо колдовать с маршрутами
а чем плох локалхост?
в конфигах то можно любые имена таргетов задавать

Zlokot
25.08.2017
08:35:32
да я просто уже добавил ip для проверки так как локалхост же не работает
я ж говорю - там вообще странная ошибка появляется - какойто левый ip в тексте ошибки. вроде из моей сети, но его нет

Artem
25.08.2017
08:44:03
грепни конфиги примонтированные в прометеус
может где-то не то указал

Zlokot
25.08.2017
08:45:17
там 5 строчек в конфиге yml
тестовый запуск же
ладно. похоже проблема не стандартная)
-p параметр
не нифига: docker run -d -p 192.168.100.1:9090:9090 - точно также
/prometheus # wget -O- 192.168.100.1:9090/metrics
Connecting to 192.168.100.1:9090 (192.168.100.1:9090)
wget: can't connect to remote host (192.168.100.1): No route to host

Artem
25.08.2017
09:18:03
так стоп
это же внещний проброс, для обращения извне
тоже самое изнутри на localhost не работает?

Zlokot
25.08.2017
09:19:43
как раз wget на локалхост работает изнутри контейнера - отдает кучу текста. но при этом сам прометей localhost не отрабатывает. только если 127.0.0.1 указано в конфиге - тогда показывает UP

Google

Zlokot
25.08.2017
09:20:48
/prometheus # wget -O- localhost:9090/metrics
Connecting to localhost:9090 (127.0.0.1:9090)
# HELP go_gc_duration_seconds A summary of the GC invocation durations.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 3.4806e-05
.........
.......
то есть налицо какаято проблема с резолвингом.. подставить 127 вместо локалхост в конфиг - я в гугле подсказку эту вычитал
prometheus
Endpoint State Labels Last Scrape Error
http://127.0.0.1:9090/metrics
UP instance="127.0.0.1:9090" 1.162s ago

Artem
25.08.2017
09:22:03
в чем проблема оставить localhost?
это же просто таргет на самого себя
у меня он так и отображается

Zlokot
25.08.2017
09:22:39
да епонский бог)))
мне не особо важно - локалхост или 127.
я просто столкнулся с проблемой что локалхост не работает. и начал копать
вот что при локалхост
prometheus
Endpoint State Labels Last Scrape Error
http://localhost:9090/metrics
DOWN instance="localhost:9090" 5.121s ago Get http://localhost:9090/metrics: dial tcp 192.168.100.133:9090: getsockopt: no route to host
что это за ip - 100.133 - вообще не пойму
сетка не моя, админов надо дергать видимо.. но явно какаято шляпа

Zlokot
25.08.2017
09:25:05
да. у тебя на скрине все ok
а у меня - по другому. не работает если localhost указан в конфиге.
только если 127.0.0.1
хотя это одно и тоже..

Artem
25.08.2017
09:25:46
внутри контейнера прометея в /etc/hosts что?
чую там какую то левую запись

Zlokot
25.08.2017
09:26:56
/prometheus # cat /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.3 2928bfec3bce
сам контейнер из офф репозитория.

Artem
25.08.2017
09:27:22
да это понятно, хостс при поднятии генерится

Zlokot
25.08.2017
09:27:23
]# docker images | grep prom
prom/prometheus latest 4da113bb6ae3 2 months ago 74.5MB

Google

Artem
25.08.2017
09:27:34
а на хосте в хостс есть что-то с этим айпи?

Zlokot
25.08.2017
09:27:39
неа
этот ип вообще даже не пингается

Artem
25.08.2017
09:28:27
iptables-save | grep 100.133 тоже нече не выдает?

Zlokot
25.08.2017
09:28:55
пусто

Artem
25.08.2017
09:29:15
тогда это какой то НЁХ)

Zlokot
25.08.2017
09:29:16
-nL тоже

Admin
ERROR: S client not available

Zlokot
25.08.2017
09:29:22
что? )

Artem
25.08.2017
09:29:36
http://lurkmore.to/%D0%9D%D0%B5%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%B0%D1%8F_%D1%91%D0%B1%D0%B0%D0%BD%D0%B0%D1%8F_%D1%85%D1%83%D0%B9%D0%BD%D1%8F

Zlokot
25.08.2017
09:29:47
аа )) я это называю - BM
black magic

Pavel
25.08.2017
09:54:50
а ьу тебя там вбокса никакого нет?

Zlokot
25.08.2017
10:06:10
Та не.. это сервак с линкус
блжад - проблема была в том, что в домене в DNS зоне была запись localhost.domain_name
и она ессно указывала на этот ip
удалил - заработало
теперь надо научиться проверять порты соседних докер-контейнеров на наличие.. вроде блекбокс для этого надо

Aleksey
25.08.2017
18:48:31
Всем привет! Поставил свежий докер на Ubuntu 16. Создаю конейтер, все запускается, но контейнер не видит вольюмы (которые я подключаю через `-v`). На маке, где я изготавливал образ, все работает отлично. В чем может быть проблема?

Anna
25.08.2017
18:53:56
с правами

Aleksey
25.08.2017
19:09:30
Если я создаю именовынный вольюм и подключаю его к контейнеру, то все работает, но мне нужно что бы файлы были видны с хоста. Возможно как-то сделать файлы из вольюма видимыми (в документации не нашел)?

Google

Andrey
25.08.2017
19:36:59

Aleksey
25.08.2017
19:38:38

Andrey
25.08.2017
19:39:32
`RUN ["chown", "-R", "daemon:daemon", "/data"] - это нужно делать не в RUN, а в entrypoint

Aleksey
25.08.2017
19:51:52
А можно это вообще не делать? Энтрипоит тоже генереный.

Nick
25.08.2017
20:06:31

Aleksey
25.08.2017
20:07:05

Andrey
25.08.2017
20:07:32

Nick
25.08.2017
20:09:28

Aleksey
25.08.2017
20:10:00

Nick
25.08.2017
20:11:42
@fomkin попробуй в /opt/docker замонтировать, она вроде под тем же юзером
@fomkin и не стесняися спрашивать в нашем чатике, у нас много кто использует докер

Aleksey
25.08.2017
20:14:51
Т.е я делаю VOLUME /opt/docker/data" и говорю программе писать туда. При запуске я делаю -v localpath:/opt/docker/data. Так?

Nick
25.08.2017
20:14:54

Andrey
25.08.2017
20:15:10
Для родительского каталога
Можно, конечно

Nick
25.08.2017
20:16:41

Aleksey
25.08.2017
20:20:26
Не сработало. Не работает даже без монтирования. Вот докерфайл
FROM openjdk:8-jre-alpine
WORKDIR /opt/docker
ADD opt /opt
RUN ["chown", "-R", "daemon:daemon", "."]
VOLUME /opt/docker/data
USER daemon
ENTRYPOINT ["bin/app"]
CMD ["/opt/docker/data"]

Nick
25.08.2017
20:27:09
в cmd передаешь паф куда писать?

Aleksey
25.08.2017
20:34:22
ага