Andrei
через линк например
через ssh подключение или через http вызов web-сервиса, который должен быть в другом контейнере для этих целей.
invariance
o_O
invariance
у меня два контейнера запущено, мне надо php из одного контейнера заюзать в supervisord в другом контейнере
Andrei
так, супервизор тут не при чем. еще раз чуть подробнее подскажите, пожалуйста, что именно вы хотите сделать.
invariance
У меня есть контейнер А, в котором находится PHP. Есть контейнер B, где находится образ убунты с супервизором. Мне надо из контейнера В запустить php-скрипт в контейнере А
Andrei
да, значит, я правильно понял задачу. Вам надо написать небольшой web-сервис, который при запросе на определенный url будет делать exec вашего скрипта.
invariance
пздц костыль
invariance
а в одном докерфайле можно несколько FROM указывать?
Andrei
Так может лучше написать скрипт, который по ssh зайдет и запустит. Так легче
Да, можно и так, в первом ответе я такую рекомендацию дал. https://stackoverflow.com/questions/6270419/how-to-execute-ssh-commands-via-php
Viktor
Всем привет. Есть на docker-compose маленькое поделие, nginx и fpm контейнеры. Пришла необходимость добавить недефолтные DNS в контейнеры, в docker-compose.yml добавил каждому директивы dns: - 1.2.3.4 - 5.6.7.8 Вопрос теперь в том, можно ли как-то их применить в контейнерах, без ребилда? Дока подсказывает что docker-compose restart мне не поможет
Andrei
применить в контейнере без ребилда можно только если зайти внутрь контейнера при помощи exec и нахакать руками, т.е. поправить /etc/resolv.conf
Viktor
а без этого - только ребилд?
Andrei
так, стоп, какой ребилд.. просто перезапуск контейнера
Andrei
--dns - работает для рантайма
Andrei
нужно остановить сервисы и поднять их снова, только после этого ваша конфигурация поменяется
Andrei
можно не экспериментировать на бою, а проверить на отдельном новом сервисе
Artem
пздц костыль
Юзать супервизор в контейнере это уже костыли
Alex
Парни подскажите пожалуйста в чем беда. Делаю контейнер с openvpn, служба внутри контейнера стартует и должна слушать соединения на порту 1194, однако на хосте этот порт не проброшен (udp протокол) Вот конфиг docker-compose version: "3" services: ovpn: build: . environment: #- OVPN_ENVIRON=first_run - OVPN_ENVIRON=usual_run - OVPN_PATH=/etc/openvpn - OVPN_KEY_PATH=/etc/openvpn/easy-rsa/keys - RSA_PATH=/etc/openvpn/easy-rsa stdin_open: true tty: true devices: - /dev/net/tun:/dev/net/tun privileged: true ports: - "1194:1194/udp" - "80:80" cap_add: - NET_ADMIN volumes: - ./cfg:/etc/openvpn/cfg - ./keys:/etc/openvpn/keys command: ["/etc/openvpn/entrypoint.sh"] В чем беда?
Alex
На хосте проверяю netstat -plnau нет 1194 совсем
Alex
Кстати, я попробовал пробросить 80 порт, аналогичная картинка. Нет проброшенного 80го порта
Alex
Пробовал другие контейнеры стартовать, из других контейнеров порты пробрасываются
Oleg
попробуй "0.0.0.0:1194:1194/udp" и "0.0.0.0:80:80" может ipv6 пытается
Robert
Кто поднимал oraclelinux:7.4 подскажите как с этим бороться: Failed to get D-Bus connection: Operation not permitted systemd выкидывает это
Oleg
там в докере процесс то работает? может не пустился, ждет чего
Alex
там в докере процесс то работает? может не пустился, ждет чего
пустился. Я даже ручками запускал с помощью docker-compose run ovpn bash и ручками запускал. Результат тот же.
Alex
Не пробрасывается порт на хоста и все. Сломал мозг...
Alex
Блин! Нашел ответ. Порты не публикуются наружу если запускать через docker-compose run
Alex
Через docker-compose up все заработало. Боже мой, 3 часа убил
Alex
Нашел ответ на гитхабе https://github.com/docker/compose/issues/1334
Oleg
https://docs.docker.com/compose/reference/run/ The second difference is that the docker-compose run command does not create any of the ports specified in the service configuration. This prevents port collisions with already-open ports.
Oleg
доку по твоей ссылке нашел
Chebyrash
Подскажите пожалуйста структуру проекта когда я использую FROM golang:onbuild Где что должно лежать и скачивает ли он сам все dependencies?
Artem
Почитать описание образа, не?
Chebyrash
Сделал, спасибо.
Таймураз
Вечер добрый драйвер логирования gelf может напрямую писать в эластик?
Pasha Chalyk
Pasha Chalyk
Может
Таймураз
Уже видел эту статью, но тут логстеш Пока еще не уверен, что можно слать готовый JSON, отформатированный в gelf, сразу в эластик. Ищу варианты, чтобы логи 100%-но доходили до эластика. UDP этого не подразумевает
Таймураз
Завтра буду тестить на рабочем месте, но мб кто из местных шаманов уже работал с тем же docker swarm и может подсказать что конкретнее
Таймураз
Может
Тем не менее, спасибо
Anonymous
Привет всем) Парни, кто знает какие-то интересные способы использувания docker? Хочу разказать о них на meetup.
Anonymous
Незнаю, чисто для фана. Типо возможность лёгкого запуска бота на raspberry pi. Для круглосуточной работы и тд.
Sergey
Я докером виртуалки Раню
alexander
Ну, учитывая, что его в основном используют для деплоймента, то использовать его для гоняния тестов (хотя это тоже довольно популярный юзкейс...)
alexander
Очень удобно, кстати
Anonymous
Alexander, а возможно у вас есть какие-то интересные ресурсы на эту тему?
alexander
На тему того, как тестить? Да нету, просто поддерживал одну либу (обертка над GDB), было удобно запускать gdb нужной версии в контейнере.
alexander
Плюс часто когда начинаешь работать с каким-то проектом, тесты валятся из-за каких-то специфичных для системы вещей. Приходится что-то вечно устанавливать, чтобы просто тесты прошли... С контейнерами, конечно, удобнее.
Viktor
Господа, как долго может выполняться docker restart?
Viktor
чет уже три минуты висит
Viktor
это норма?
Таймураз
это норма?
Ты уверен, что он не рестартится у тебя?
Viktor
думаю как бы подебажить
Viktor
# ps awwux | grep docker root 12725 0.0 0.0 128416 2776 pts/0 S+ 00:15 0:00 systemctl start docker root 12731 0.3 0.0 739484 42096 ? Ssl 00:15 0:00 /usr/bin/dockerd --iptables=false --storage-driver=overlay root 12738 0.0 0.0 283488 9604 ? Ssl 00:15 0:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --runtime docker-runc root 12758 0.0 0.0 43576 3360 ? Sl 00:15 0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 36703 -container-ip 172.21.0.2 -container-port 8080 root 12763 0.0 0.0 43576 3360 ? Sl 00:15 0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 36900 -container-ip 172.23.0.3 -container-port 8080 root 12768 0.0 0.0 43832 3312 ? Sl 00:15 0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 36709 -container-ip 172.29.0.3 -container-port 80 root 12773 0.0 0.0 43832 3432 ? Sl 00:15 0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 36714 -container-ip 172.22.0.4 -container-port 80 root 12778 0.0 0.0 117564 3700 ? Sl 00:15 0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 36705 -container-ip 172.18.0.4 -container-port 80 root 12783 0.0 0.0 109112 5468 ? Sl 00:15 0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 50001 -container-ip 172.17.0.2 -container-port 80 root 12788 0.0 0.0 43832 3748 ? Sl 00:15 0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 36716 -container-ip 172.20.0.2 -container-port 80 root 12793 0.0 0.0 43832 3316 ? Sl 00:15 0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 36720 -container-ip 172.28.0.4 -container-port 80 root 12798 0.0 0.0 43832 3316 ? Sl 00:15 0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 36719 -container-ip 172.27.0.3 -container-port 80
Viktor
strace -p PID молчит
Viktor
Process 12725 attached ppoll([{fd=3, events=POLLIN}], 1, NULL, NULL, 8
Гайрат
/spam
Anonymous
Если первое то гелф драивер настроить можно напрямую и без сислога
Таймураз
Я могу приложением прям формировать логи, смысла нет в логстеше
Таймураз
Не советую
И через filebeat тоже?
Anonymous
А нахер тебе вообще поллер
Anonymous
Логсташ лучше всеж иметь, имхо жрет он не много
Anonymous
Поллер?
ну да
Таймураз
ну да
Примерно понял, к чему ты клонишь Если с этим драйвером не нужен filebeat, то зачем мне логстеш?
Таймураз
filebeat я думаю настроить так, чтобы выгружал логи раз в период времени и проверял, выгружены ли они
Anonymous
а зачем тебе файлбит на каждой ноде)
Anonymous
когда можно делать пуш и не париться
Anonymous
ну и да, если тебя парит udp, то gelf можно и по tcp пустить
Таймураз
ну и да, если тебя парит udp, то gelf можно и по tcp пустить
Из доков: gelf-address The address of the GELF server. udp is the only supported URI specifier and you must specify the port.
Anonymous
печально, тогда можешь посылать в сислог и оттуда уже по tcp
Anonymous
но я не вижу проблем с udp
Таймураз
но я не вижу проблем с udp
Меня только напрягают возможные потери логов, обсуловленные udp Хотя у нас с сетью все норм и они не должны пропадать