matt
шта
Anonymous
шта
мом пицу
Yuno
Добрый день. У меня проблема с docker-compose. Есть два проекта на nodejs, которые я запускаю при помощи docker-compose с разными docker-compose конфигами (v2). В первом конфиге указано два сервиса: backend и redis_db, во втором: backend, ordering_db, main_db. Проблема в том, что backend из второго сервиса должен делать запросы в backend из первого, но контейнеры изолированы друг и друга, и второй backend не видит первый backend. Пробовал сделать external_links, но так и не заработало. В чём может быть проблема?
Yuno
https://pastebin.com/08Mq7g98
Anonymous
root@s1-app01 /opt/docker/nginx $ cat docker-compose.yml version: "2" networks: frontend: external: true Где 'frontend' это имя ранее созданной сети
Yuno
можно как-то сделать так, чтобы сеть создавалась в compose автоматически?
Anonymous
можно как-то сделать так, чтобы сеть создавалась в compose автоматически?
докер и создаёт её автоматически. Но для каждого композа - свою
Alexander
а каким образом из докер-образа можно склонировать репу из гитлаба имея только персональный токен?
Alexander
варианты из гугла даны только для гитхаба
Alexander
и на гитлаб они не действуют
Anonymous
Yuno
докер и создаёт её автоматически. Но для каждого композа - свою
мм, окей. но если я укажу в networks: свою сеть, то compose всё равно будет создавать свою помимо той, что я указал, но при этом сервисы будут доступны в моей?
Anonymous
докер и создаёт её автоматически. Но для каждого композа - свою
Я тут ошибся, он использует default сеть, а не создаёт новую. Но особенность default сети в том, что несмотря на то, что контейнеры в одной сети - они друг друга не видят. Поэтому нужно создавать свою.
Yuno
окей, спасибо, попробую
Anonymous
Алексей
добрый день
Алексей
подскажите плз по тимпассу
Алексей
Алексей
установил его pull, запустил run
Алексей
сейчас он ждет, что я открою его в браузере
Алексей
но в браузере не открывается, ни по 80, ни по 443 порту
Алексей
разобрался, порт не указал
Alexandr
Evgenii
добрейщий денёчек у меня есть контейнер (с зябиксом) где нет питона3, но мне нужно из-под него запускать питон скрипт (для отправки алертов) какие-то спосбы сделать это (через другой контейнер, с питоном) есть или мне надо тот контейнер что с заббиксом переделывать, чтобы внутри питончик был?
Evgenii
как скрипт работает? что ему нужно?
скрипт получает как параметр текст сообщения, отправляет сообщение и завершает работу
Aleksandr
от заббикса?
Evgenii
как скрипт работает? что ему нужно?
это не демон, ты это хотел спросить?
Aleksandr
то есть интерпретатор питона должегн быть рядом с заббиксом, что является ответом на твой вопрос
Aleksandr
но ты можешь например накидать простой микросервис, который будет то же самое делать по http-хуку
Evgenii
ну это я догадался, просто вдруг есть вариант не переписывать свой скрипт на демона и не пересобирать образ забикса
Anonymous
Подскажите пожалуйста. Только-что обновил докер на centos 7 и после апдейта сломались контейнеры, ранее работавшие.
Anonymous
https://pastebin.com/raw/dvKXANVq
Anonymous
devmapper: Error mounting '/dev/mapper/docker-9:126-20841312-7d181b4f1c2646ad834af7eeb61ac699bf7028f1f13166ad358b06481794ee19' on '/var/lib/docker/devicemapper/mnt/7d181b4f1c2646ad834af7eeb61ac699bf7028f1f13166ad358b06481794ee19': invalid argument
Anonymous
Протестил с новым контейнером - всё в порядке (docker run alpine). Проблема только в контейнерах, которые были запущены ранее.
Mentat
Опять api поломали, это докер
Салтыдык
Anonymous
Ок, нагуглил что проблема может быть связана с выключением selinux. Включил, ребутнул, теперь ошибки с volume нет.
Anonymous
Есть другой косяк, у меня там апач запускается через шелл скрипт. Теперь ругается на него
Anonymous
systemdhook <debug>: Skipping as container command is /root/start-httpd.sh, not init or systemd
Tadeusz
Systemd в помощь
Anonymous
Не совсем в ту степь. Сейчас в процессе разбора полётов
Tadeusz
selinux сам же сказал)
Anonymous
Это полбеды было )
Tadeusz
Ну щас апач не стартует? Это твоя беда? @alterself
Anonymous
Ну щас апач не стартует? Это твоя беда? @alterself
Мистика. Запустился сейчас. Ничего не менял. Зато второй контейнер теперь сломан ) Как будет что сказать - отпишусь.
Tadeusz
Alexander
собираю кастомный контейнер унаследовавшись от mysql:5 RUN mysqld --defaults-file=/deploy/my.cnf --initialize-insecure --user=mysql RUN /etc/init.d/mysql start RUN mysql -u root -e 'SET GLOBAL log_bin_trust_function_creators = 1;' получаю ошибку ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) не понимаю куда копать, подскажите плиз
Aleksandr
к чему ты откуда и как коннектишься? причем тут сокет, если коннектится надо по порту
Yevhen
так он жеж при билде образа пробует стартовать мускул
Alexander
угу, при сборке образа
Yevhen
так низзя
Alexander
я хочу собрать образ со стейтлесс данными
Alexander
неизменными как это лучше сделать?
Yevhen
собирай, никто ж не против но ты в инструкцию RUN запихиваешь то, что должно быть в инструкции CMD (ну или ENTRYPOINT)
Alexander
хм
Alexander
сейчас попробую, спасибо
Yevhen
не забывать, что CMD может быть только один
Yevhen
;)
Yevhen
так что или ENTRYPOINT, или переопределяй CMD при старте контейнера
Alexander
🤔
Alexander
я правильно понял что директива RUN выполняет команду и создает новый образ контейнера CMD просто запускает указанное а вот с ENTRYPOINT не совсем понял
Jenny
entrypoint cmd - вот так это работает
Jenny
ну и run = pull + create + start
Aleksandr
Jenny
и не образ контейнера, а контейнер. Не путай с имаджем
Jenny
наоборот по-моему
ни в коем случае
Jenny
по дефолту энтрипойнт = /bin/bash -c
Aleksandr
да, все верно. спутал
Jenny
ну или иная представленная оболочка
Jenny
?
Anonymous
Ну щас апач не стартует? Это твоя беда? @alterself
В общем проблема была в монтировании volume при старте контейнера. Решилось изменением selinux label'a в композе
Anonymous
[root@webhost proxy-handler]# cat docker-compose.yml version: "2" services: handler: security_opt: - label=type:container_runtime_t
Alexander
хм, а может просто написать shell скрипт + sql dump и подсунуть это все в docker-compose 🤔