Anonymous
Ребята, подскажите пожалуйста - для docker-compose up - (mysql) запустить команды последовательно, после установки и запуска самого mysql. Что-то типа onrun: - 1cmd - 2cmd
Viktor
Команды в контейнере MySQL?
Anonymous
нет - команды, чтобы выполнились как обычные команды в консоли
Anonymous
в этой директории
Anonymous
Andrey
Как, так ?
Paul
docker exec -it container bash
Ruslan
docker swarm Как из контейнера расшать в другой контейнер. Чтоб прит каждом слудующем деплое, данные в контейнере не затирались из volume, а всегда в volume обновлялись из контейнера ?
Anonymous
А как получить статус флагом (true/false) - запущен ли определенный контейнер или нет?
Anonymous
docker inspect -f {{.State.Running}} $CONTAINER_ID ?
Anonymous
о точно это и есть
Paul
docker ps
Paul
docker ps -la
L-dar
Cобрал docker-compose, один из контейнеров постоянно падает и перезапускается. Как можно отследить причину? Спасибо.
Yakov
docker-compose logs посмотрите
L-dar
спасибо!
Maksim
Здравствуйте.
Maksim
Подскажите, пожалуйста. Для того, чтобы пробросить порты между контейнером и докером используется -p, вместе с docker run. А можно ли как то пробросить порты уже в работающем контейнере?
George
нет
George
в смысле документированных и надежных способов это сделать - нет
George
но ты можешь извернуться и параллельно со своим контейнеров поднять nginx, который одним концом будет торчать куда надо, а вторым проксировать в контейнер
Maksim
То есть если я например внес кучу изменений, мне надо коммитить в новый образ, килять этот и заного запускать с новым образом?
George
это правильный сценарий. И вообще изменения в контейнер вносить - плохая практика
George
у тебя должен быть отдельный процесс вненсения изменений и сборки измененного образа
George
а потом его запуска
Maksim
Ну вот мне допустим дали задание, развернуть и настроить freepbx в докер контейнере. Развернуть то я могу с помощью dockerfile, а когда я буду конфиг настраивать, он же будет писаться внутрь, и с помощью dockerfile это нельзя сделать
Maksim
Я так понимаю в такой ситуации необходимо с новым конфигом делать коммит и всеп
George
Нет
George
У тебя концепция неверная
George
Если тебе нужен конфиг, то ты его либо инжектишь в изначальный образ
George
Либо пишешь обертку, которая вызывается при старте докера и формирует нужные конфиги. Например, из переменных окружения
George
Или из внешнего хранилища типа consul
inqfen
Либо если образы будут отличаться, собираешь сразу с конфигом
inqfen
Но это неправильно
Maksim
Так конфиг то я из веба делать буду) Смотреть изменения в файлах внутри и все записывать?
Maksim
Ладно, хорошо, допустим. А как конфиг инжектить в образ изначально? Не совсем понимаю
George
База или файлы ?
Igor
ну так себ, конфиг из веба
он же написал что FreePBX это Asterisk с настроиным WebUI
George
freepbx по моим воспоминаниям работает как
George
у него база типа мускуля
George
в которую он пишет конфиги из веба
George
а потом по ним готовит конфиги для астера и его перезапускает
Maksim
Я пока не знаю, пытаюсь хотя бы поднять, и то не работает.
Igor
не у него файлы конфигов, но он их из вебы перетирает
Maksim
Maksim
вроде проброс правильный
George
перечитывает, а не перезапускает
ну, да, но это не столь принципиально в нашем кейсе
Igor
вроде проброс правильный
обычно для RTP 10000-20000/udp а не 18000-20000
Maksim
обычно для RTP 10000-20000/udp а не 18000-20000
это уже позже. Мне бы в веб попасть сначала))
George
какой-то левый проброс
Maksim
я пока тупенький, только въезжаю в это дерьмо
Igor
правильным выглядит только 80-й
George
ну, у тебя фактически проброшен только 80->80
George
остальное тупо неактивно
Maksim
так мне и нужен он ПОКА, чтобы хотя бы в веб зайти
George
а ты внутрь контейнера зайди и посмотри - слушает ли он 80-й
Maksim
на хосте все порты разрешены, проброс на контейнер есть, но не заходит
George
может там что-то сломалось внутри
George
или он слушает на 127.0.0.1, а должен на 0.0.0.0
George
или еще какая бяка
Maksim
Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN tcp 0 0 localhost:3306 0.0.0.0:* LISTEN
Maksim
в нетстате больше ничего
George
жопа
Igor
ну зайдите в сам контейнер пошукайте в нем
Igor
в чем проблема?
Igor
docker exec -itu 0 имяКонтейнераИлиИД /bin/bash
Maksim
Так я в нем, это нетстат из него
Maksim
Если я все правильно понимаю, ничего он не слушает
Igor
ну значит смотрим логи
Maksim
а iptables нет на нем
Igor
а iptables нет на нем
он настривается из webUI