@docker_ru

Страница 281 из 1375
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 на девелоперской машине?

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
Если я создаю именовынный вольюм и подключаю его к контейнеру, то все работает, но мне нужно что бы файлы были видны с хоста. Возможно как-то сделать файлы из вольюма видимыми (в документации не нашел)?
1) Если нужно чтобы они были видны, может просто смапить хостовую папку? 2) через docker inspect <cont_name> можно подсмотреть реальные путь до volume на хостовой машине

Aleksey
25.08.2017
19:38:38
1) Если нужно чтобы они были видны, может просто смапить хостовую папку? 2) через docker inspect <cont_name> можно подсмотреть реальные путь до volume на хостовой машине
1) Вот не работает. Похоже причана в том что "я" делаю `RUN ["chown", "-R", "daemon:daemon", "/data"] ` На самом деле докерфайл генерируется билдтулом. Слишком много доверия к нему. 2) Да, но она читается только из под рута.

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

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

Aleksey
25.08.2017
20:07:05
Sbt plugin?
Так точно

Andrey
25.08.2017
20:07:32
Почему ж? Эт нужно делать докерфайле
Он каталог внешний подключает, толку от -R на этапе сборки?

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
Он каталог внешний подключает, толку от -R на этапе сборки?
mkdir и chmod можно сделать и до монтирования

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

Можно, конечно

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
ага

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