@
А пропишите dns явно, если что. Композ позволяет. Не за что. Вы всё сами сделали! :)
все равно где то косяк) уже даже напрямую подсовывал /etc/resolv.conf, один фиг) а если подсунуть /etc/hosts контейнер падает)
@
пока проблема не ушла =\
Andrew
Вот так вот прописывали? https://docs.docker.com/compose/compose-file/#dns
Andrew
IPшник пингуется?
@
IPшник пингуется?
самый прикол, с хоста пингуется, ставлю рядом контейнер nginx, проваливаюсь в него, делаю там пинг мастера и все пинги ходят все ок
@
а с контейнера слейва кроля нет, и возможности кинуть пинг нет так как там он напрочь вырезан
@
и даже рута нет )
@
пока пью кофе думаю что еще не так )
@
Вот так вот прописывали? https://docs.docker.com/compose/compose-file/#dns
это прям по умолчанию везде указываю
@
dns всегда прописан
@
перепроверил конфиг, мне кажется что то с самим контейнером, но что, я пока не пойму
Andrew
Какой образ кролика юзаете?
@
bitnami/rabbitmq
Andrew
А если провалиться внутрь контейнера и сделать apt update?
Andrew
(а потом поставить net-tools)
@
у меня не вышло, так как повыситься до рута не получилось, что бы заюзать apt, я не стал заморачиваться и проверил на другом контейнере, а когда понял что дело не в сети а в контейнере а потом увидел сколько уже времени и забил) и пока пью кофе, и думаю что делать с контейнером ) возможно стоит попробовать контейнер другой сборки
Andrew
docker run --rm -it -u root --hostname my-rabbit --name some-rabbit bitnami/rabbitmq bash
@
docker run --rm -it -u root --hostname my-rabbit --name some-rabbit bitnami/rabbitmq bash
спасибо попробую, я утром тоже нечто подобное нагуглил) буду проверять
@
docker run --rm -it -u root --hostname my-rabbit --name some-rabbit bitnami/rabbitmq bash
как выяснилось пинги ходят из контейнера, установил пинг, пинганул по имени мастер хост, пинг идет, но по прежнему кроль в упор не видит ноду =\ магия...
Andrew
Даже по имени пинги ходят?
@
уже залез в самого кроля, сижу смотрю что может быть не так
Anonymous
привет всем, подскажите, у меня на локальной машине лежат какое-то количество docker image, могу ли я какой-то одной командой в духе "docker image update" обновить все их, не создавая при этом контейнеры?
Sebor▂▅▇█▓▒░
Так запуль их повторно и делов
Anonymous
каждый? у меня контейнеров нет, просто лежат образы
Sebor▂▅▇█▓▒░
Ну или удали все, потом подтянутся при необходимости
@
docker pull $(docker ps -a -q) чето такое не зайдет ?
Sebor▂▅▇█▓▒░
docker pull $(docker ps -a -q) чето такое не зайдет ?
Эта команда показывает контейнеры, а не образы
@
хотя не
Sebor▂▅▇█▓▒░
Docker image ls тогда уже, но задача опять же странная
Andrey
docker images | egrep -v "^REPOSITORY|<none>" | awk '{print $1":"$2}' | xargs -L1 docker pull
Anonymous
спасибо!
Harry
Привет товарищи. Подскажите пожалуйста, вдруг частая проблема: В контейнере 100% есть бинарник. Я этому бинарнику выдал следующее: RUN chmod 777 бинарник RUN chmod +x бинарник эти команды проходят -> бинарник в контейнере есть. но когда доходит до CMD [ "./бинарник" ] пишется "нет такого файла или каталога"
@
Воркдир указал ?
Harry
да, я даже писал скрипт которы делает ls и потом пытается запустить этот бинарник. В списке файлов есть этот файл, но почему-то он не запускается
Harry
но лучше еще раз проверю
Harry
блииииин)) позор мне) неправильно имя бинарника написал. Извините, что потревожил, спасибо что пытались помочь!
@
бывает )
Александр
ребят, как ошибку пофиксить? curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number gpg: no valid OpenPGP data found.
@
установить пакет openssl
@
Даже по имени пинги ходят?
я таки победил кластер кроля )
Anonymous
Добрый день, есть кто-нибудь кто сертифицировался как CKA и может ответить на вопросы? Буду очень благодарен
@
Что было?
какая то бага на rhel72 была, порт не мапился
Егор
Каким образом работают метки в docker? Чтобы конкретизировать вопрос, я приведу пример. version: '3' services: flask: build: ./flask image: flask command: uwsgi --http-socket 0.0.0.0:5000 --wsgi-file app.py --callable app labels: - "traefik.enable=true" - "traefik.backend=flask" - "traefik.frontend.rule=${TRAEFIK_FRONTEND_RULE}" traefik: image: traefik:v1.7.24 volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ./traefik/traefik.toml:/etc/traefik/traefik.toml:ro - ./traefik/acme:/etc/traefik/acme ports: - "80:80" - "443:443" - "8080:8080" В traefik мы видим метки. Каким образом приложение внутри контейнера traefik узнаёт о метках. А самое главное, почему используются метки, а не переменные окружения? Какие задачи они выполняют? SO: https://ru.stackoverflow.com/questions/1142291/%d0%9f%d0%be%d0%bb%d1%83%d1%87%d0%b8%d1%82%d1%8c-%d0%b7%d0%bd%d0%b0%d1%87%d0%b5%d0%bd%d0%b8%d0%b5-%d0%bc%d0%b5%d1%82%d0%ba%d0%b8-%d0%b2%d0%bd%d1%83%d1%82%d1%80%d0%b8-%d0%ba%d0%be%d0%bd%d1%82%d0%b5%d0%b9%d0%bd%d0%b5%d1%80%d0%b0
Sebor▂▅▇█▓▒░
Если ты не заметил, то траефик имеет доступ к сокету докера. Оттуда он и получает всю необходимую ему инфу
Sebor▂▅▇█▓▒░
Метки - это внешняя часть метаинформации, для оркестраторов и т.п. Сравнивать с переменными окружения, которые нужны внутри контейнера приложению, очень странно
Егор
Ага, разобрался. Но теперь возникла проблема, что у меня есть стейдж и прод. И они на одной тачке, к сожалению. Мне нужно как-то спрятать их за разными трафик что ли. Пока не понимаю, как. Запускаются они из одного компоуза.
Егор
Но подпихиваются им разные файлики с переменными
Sebor▂▅▇█▓▒░
Прод и стейдж на одной тачке? А самому не смешно такое делать?
Егор
Смешно. Но, увы. Такая жизнь.
Sebor▂▅▇█▓▒░
Значит у вас нет прода Все просто
Егор
Лол. Ладно, понял
Sebor▂▅▇█▓▒░
И речь же шла о траефике,
Sebor▂▅▇█▓▒░
Откуда энджиникс появился?
Егор
Правильно. Он выступает реверс-проки.
Егор
Перепутал название
Егор
Там трафик. Поправил
Sebor▂▅▇█▓▒░
Ну делаешь просто разные метки для сервисов, вот тебе и отличие 'стейджа' от 'прода'
Sebor▂▅▇█▓▒░
Либо в разные компоузы пихаешь
Егор
Ну делаешь просто разные метки для сервисов, вот тебе и отличие 'стейджа' от 'прода'
Да, видимо, в разные компоузы пихну. А про метки. Я пытаюсь в них вкурить. Но пока не одупляю, как они работают. Как запускаться с ними.
Sebor▂▅▇█▓▒░
Что значит как? За метками следит траефик, через них ты по сути делаешь правила, как проксировать запросы на этот контейнер
Sebor▂▅▇█▓▒░
И раз у тебя все на одной тачке, то тебе достаточно одного траефика
Sebor▂▅▇█▓▒░
Просто у каждого контейнера будут свои правила
Егор
И раз у тебя все на одной тачке, то тебе достаточно одного траефика
Правильно. Но тогда есть два варика. 1. У меня всё живёт в одном компоузе и запускается с разными переменными окружения. И здесь есть один traefik. Но так как stage и prod запускаются назависимо, то получается, что трафики конфликтуют между собой. 2. Всё живёт в двух компоузах и запускается с двумя трафиками. И они также конфликтуют. Так как слушают 443 и 80
Sebor▂▅▇█▓▒░
Sebor▂▅▇█▓▒░
Я же написал, траефик один должен быть И запускается он отдельно от других контейнеров
Егор
+
Sebor▂▅▇█▓▒░
Почитай доку, там довольно подробно все описано и есть примеры
Егор
https://ru.stackoverflow.com/questions/1142291/%d0%9f%d0%be%d0%bb%d1%83%d1%87%d0%b8%d1%82%d1%8c-%d0%b7%d0%bd%d0%b0%d1%87%d0%b5%d0%bd%d0%b8%d0%b5-%d0%bc%d0%b5%d1%82%d0%ba%d0%b8-%d0%b2%d0%bd%d1%83%d1%82%d1%80%d0%b8-%d0%ba%d0%be%d0%bd%d1%82%d0%b5%d0%b9%d0%bd%d0%b5%d1%80%d0%b0/1142342#1142342 По поводу меток
Егор
Ответ внутри
Евгений
Всем привет. Нужна небольшая помощь по настройке Docker (настройка Nginx), за вознаграждение. Пишите в личку, опишу задача.
Anton
Подскажите пожалуйста: пытаюсь добавить в докер-компоуз в качестве сервиса кролю (rabbitmq), вроде как он стартует, но при этом healthcheck фейлится. Что я делаю не так? rabbitmq: image: rabbitmq command: rabbitmq-server expose: - 5672 - 15672 healthcheck: test: [ "CMD", "nc", "-z", "localhost", "5672" ] // альтернативно пробовал test: ["CMD", "curl", "-f", "http://localhost:15672"] interval: 5s timeout: 15s retries: 3 логи: $ docker container logs 91545298d717 ... 2020-06-17 19:21:50.708 [info] <0.683.0> Server startup complete; 0 plugins started. completed with 0 plugins.
Sebor▂▅▇█▓▒░
А ты уверен, что и курл, и энси есть в контейнере? А во-вторых, судя по логу, менеджмент плагин не установлен и, следовательно, слушать порт 15672 некому
Anton
ubuntu@ip-172-31-35-16:/websites/docker-compose$ docker exec -it 91545298d717 /bin/bash root@91545298d717:/# curl -f http://localhost:15672 bash: curl: command not found root@91545298d717:/# nc -z localhost 5672 bash: nc: command not found Как чудестно. Как бы его тогда проверить? Или просто сменить имедж на тот, где что то из этого есть?
Anton
Спасибо за правильный вопрос
Егор
Привет. https://github.com/uSasha/pydata_demo/blob/master/docker-compose.yml В этой репке есть 2 контейнера. model_a, model_b. Каждый из них висит на 5000 порту. Почему они не конфликтуют?
Andrey
а чё б им конфликтовать?