Size: a a a

Docker — русскоговорящее сообщество

2020 April 07

ВК

Виктор Капля in Docker — русскоговорящее сообщество
Igor Ivanov
всем доброго дня
пытаюсь сварить (видимо) docker in docker, нужно в убунтовом окружении запускать произвольные докер-контейнеры, но что-то у меня идёт не так: получаю странные лаги на любой docker run внутри запущенного контейнера с убунтой. Запускаю примерно такую команду:
docker run --privileged --rm <image> bash -c 'service docker start; docker pull conanio/gcc9; time docker run conanio/gcc9 true'

и мне пишет, что docker run conanio/gcc9 true занимает 25 секунд, что немножко долго. Если глядеть в htop, то всё это время dockerd о чём-то усердно думает на 25-75% ядра, и только под конец уже выплёвывает container-shim с башем. Если запускать вместо conanio/gcc9 образ ubuntu:eoan (gcc9 растёт из него), лаг снижается где-то до 3х секунд, что тоже подозрительно, но жить можно. Задержка, судя по всему, зависит от содержимого оверлей-слоёв поверх исходного образа, потому что таких же лагов можно добиться просто докинув apt-get install в докерфайл, или yum install если растить образ из centos:7 вместо убунты.

При этом лаги наблюдаются только на 3х из 4х наших машинок с Centos7, а вот на 4й всё в порядке. Жонглирование версиями докера, 17-18-19, ни на что не влияет. Сегодня видимо мой несчастливый день, потому что ни на одной из виртуалок с другими осями у меня докер не запускается, так что потестить в другом окружении сам пока не могу.

совершенно случайно никто не сталкивался с такой диковиной?
На Хабре большая статья была про докер в докере. Там подробно разобрали
источник

ВК

Виктор Капля in Docker — русскоговорящее сообщество
Bugaychuk Olega
Всем приве, подскажите, как запретить push в докер регистри с одиннаковым тэгом? (Запретить затирание контейнера)
docker login в разные не помогает? Реестр свой?
источник

BO

Bugaychuk Olega in Docker — русскоговорящее сообщество
Виктор Капля
docker login в разные не помогает? Реестр свой?
Разобрался уже спасибо, в настройках регистри запретил.
источник

i

inqfen in Docker — русскоговорящее сообщество
Alex
если я эти два контейнера поднимаю на сервере с тарефиком - то все ок - можно ли как то что бы траефик их определял но при этом контейнеры были на двух разных серверах?
Ты представляешь как traefik работает с лейблами?
источник

A

Alex in Docker — русскоговорящее сообщество
inqfen
Ты представляешь как traefik работает с лейблами?
что ты этим хочешь сказать?
источник

II

Igor Ivanov in Docker — русскоговорящее сообщество
Виктор Капля
На Хабре большая статья была про докер в докере. Там подробно разобрали
хабр большой, можно хотя бы название или примерное содержание?
источник

i

inqfen in Docker — русскоговорящее сообщество
Хочу сказать свой вопрос. Он ходит в докер сокет и получает инфу о ip контейнеров оттуда. Даже гипотетически - как он будет оправлять трафик на другую машину, особенно если у контейнеров порты наружу не проброшены?
источник

i

inqfen in Docker — русскоговорящее сообщество
Это если без сворма, со свормом он сервисами оперирует
источник

i

inqfen in Docker — русскоговорящее сообщество
Которые получает опять же в сворме
источник

i

inqfen in Docker — русскоговорящее сообщество
В общем, твое желание относится вообще никак не к traefik, а к оркестрации
источник

ВК

Виктор Капля in Docker — русскоговорящее сообщество
Igor Ivanov
хабр большой, можно хотя бы название или примерное содержание?
docker-in-docker. Честно, не помню, читал, но не помню. Ищется быстро
источник

II

Igor Ivanov in Docker — русскоговорящее сообщество
Виктор Капля
docker-in-docker. Честно, не помню, читал, но не помню. Ищется быстро
нашёл пока только https://habr.com/ru/company/ua-hosting/blog/488536/ , там только про прокидывание сокета, и ворчание комментаторов что-де всё уже устарело
источник

A

Alex in Docker — русскоговорящее сообщество
да он берет информацию из сокета - но идея добавлять в распределенное хранилище информацию из этого сокета (например в etcd или consul)
источник

I

Ivan in Docker — русскоговорящее сообщество
Ivan
Всем привет, ещё те единицы кто использует на Windows Server 2016 - Docker for Windows?
Появилась проблема, что docker не реагирует удаление или чтение логов контейнера.
Рестарт сервиса docker desktop не помогает, сервисы дальше показывают, что они были запущены не пару секунд назад как должно быть - А вообще прошлый запуск, например:

STATUS
Up About an hour
Разобрался похоже, проблема в этом - https://github.com/docker/for-win/issues/5044
источник

EA

Evgeniy Abramov in Docker — русскоговорящее сообщество
Evgeniy Abramov
Может кто подсказать: для тестирования на своей локальной машине нужны часть сервисов которые крутятся в кубернетис в продакшенен, чтобы их не деплоить локально я использую команду для проброса портов с кубера на свою машину:
kubectl proxy-forward myservice 8080:80
, а в docker-compose для другого, сервиса который нуждается в myservice пишу следующее:
extra_hosts:
- "myservice:localhost"
. Но почему то приложение не может достучаться до этого сервиса, хотя с хостовой машины все доступно по curl http://localhost:8080

И да, в настройках к приложению я указываю урл сервиса который мне нужен с портом: http://myservice:8080
Пришло понимание) Проблема в том, что нет возможности пробросить сервис хоста в докер? extra_hosts он просто добавляет алиас в /etc/hosts myservice 127.0.0.1 он не найдет внутри себя. Использую compose 3. Неужели нет возможности пробросить хостовый сервис в докер? Направьте, куда можно посмотреть для решения этой проблемы?
источник

ВК

Виктор Капля in Docker — русскоговорящее сообщество
Evgeniy Abramov
Пришло понимание) Проблема в том, что нет возможности пробросить сервис хоста в докер? extra_hosts он просто добавляет алиас в /etc/hosts myservice 127.0.0.1 он не найдет внутри себя. Использую compose 3. Неужели нет возможности пробросить хостовый сервис в докер? Направьте, куда можно посмотреть для решения этой проблемы?
От приклада зависит. Кассандра не может bind хоста, graylog graylog-server может
источник

НИ

Николай Ильминский in Docker — русскоговорящее сообщество
Народ, в докере возможно сделать так, что бы приложению, живущему в контейнере, был доступен порт приложения, живущего на хост машине?

Знаю, обычно людям нужно наооборот, но всё же.

Или я хочу странного?
источник

ch

central hardware in Docker — русскоговорящее сообщество
Николай Ильминский
Народ, в докере возможно сделать так, что бы приложению, живущему в контейнере, был доступен порт приложения, живущего на хост машине?

Знаю, обычно людям нужно наооборот, но всё же.

Или я хочу странного?
самое просто network=host
источник

ch

central hardware in Docker — русскоговорящее сообщество
central hardware
самое просто network=host
хотя даже этого не надо, можно просто на localhost сослаться и у меня работает
источник

ВК

Виктор Капля in Docker — русскоговорящее сообщество
Николай Ильминский
Народ, в докере возможно сделать так, что бы приложению, живущему в контейнере, был доступен порт приложения, живущего на хост машине?

Знаю, обычно людям нужно наооборот, но всё же.

Или я хочу странного?
docker-compose.yml ports: 80:80
источник