🦠
Погоди
🦠
В обоих композах одинаковые порты?
🦠
И ты их параллельно запускаешь?
Dmitriiiii
ports: - 4000:80 на втором ports: - 5000:80
Dmitriiiii
ip же разные будут, хотя сеть одна
🦠
Пропиши явно hostname
Dmitriiiii
Всё понял спс, только я теперь не понимаю почему этот контейнер завершается сам когда он к базе не может подключится почему не 500ошибка на веб сервере, как себя бы повел обычный сервер, а завершается докер контейнер, и ещё, подскажите пожалуйста как можно запустить контейнер чтобы он сам не вырубался и можно было там полазить я всегда туда захожу через docker exec -it <> bash , но когда там ошибка меня выкидывает
Simak
Тебе надо зацикливать его ) по идее через какой нибудь tail -f
Simak
И будет вечно выполняться процесс
Artem
А вообще это нормально когда он отрубается, в этот момент куришь docker logs контейнера и смотришь на какой ошибке закончился лог и устраняешь.
Artem
Чтобы не вешать туда вечный процесс который не дает ему упасть и потом гадать, что из связки контейнеров тупит, если при этом все подняты.
Artem
@ITJunky ну ты конечно даешь и пофлеймить и посраться успел, только из-за того, что сам же неправильно готовишь докер, сколько раз уже писали, докер это не виртуалки и не нужно запихивать туда больше одного рабочего процесса.
Artem
1 контейнер = 1 апп / 1 сервис / 1 процесм
Artem
И заказчику можно передать так же файл компоуза
Artem
Притом что если запускаешь мускуль, то юзай официальный образ
Anonymous
Одного файла композа не достаточно что бы развернуть друпал уже установленный и базу туда влить
Artem
Он нормально подтягивает дампы, из маунтов
Anonymous
Хочу сам приготовить, не для всех приложений есть официальные образы
Artem
Для 90% и судя по твоим вопросам вряд ли ты копаешь в сторону последних 10
Anonymous
отличный ответ
Anonymous
Вряд ли он поможет мне
Artem
Нормальная практика собирать из офф образов, ну на край собирать кастомный образ из официальных, добавляя свой необходимый код, чтобы можно было передать приложении сразу образом кому надо
Anton
Одного файла композа не достаточно что бы развернуть друпал уже установленный и базу туда влить
Кстати раз у тебя друпал, советую ынести папку modules на отдельный волюм. С учетом того что оно там онлайн может апдейтится
Anonymous
Конфиг не подсовывается который мне надо
Anton
Конфиг не подсовывается который мне надо
ВОзьми готовый образ mysql с докер хаба и прочитай его Dockerfile, потом унаследуй от него свой Dockerfile и сделай в нем все что надо.
Anton
Иметь один компоуз файл и несклько докерфайлов это своершенно нормальная практика
Anton
Не надо пытаться все за#уячить в один композ
Anonymous
Хочу с нуля, что бы лучше понять смысл каждой строки. Обычно при таком подходе, когда берёшь что-то готовое, половину конфига не понятно и никогда не становится понятно.
Anonymous
Не надо пытаться все за#уячить в один композ
Уже стопицот раз отвечал на это!!!
Anonymous
прочти Dockerfile готового образа., там быают нетривиальные штуки.
Возникает вопрос, как его вытащить из готовго образа
Anonymous
https://hub.docker.com/_/mysql/ Смотрю сюда тут только pull команда
Anton
Там всегда ссылка на гитхаб есть, на нем и читай
Anonymous
Вот опять, же,мускуль тут на дебиане, а мне надо на centos
Artem
Это же приложение, зачем привязываться к дистрибутиву, контейнерам нужен только порт и имя контейнера, им без разницы чем он там обслуживается, для минимализма и отсутствия лишних зависимостей вообще модно на Alpine собирать.
Anonymous
Вот я и пытался собрать сам. А мне тут предлагают готовое брать уже в который раз.
Simak
Спс, пока до этого не доюрался, мучаюсь с мускулем
Я думаю у тебя не получается, потому что ты не знаешь разницу между примонтировать папку и примонтировать раздел. Это очень большая разница. И если не ошибаюсь, если хост машина работает на центром/Федора надо подправить selinux для нормального монтирования.
Anonymous
Так всё монтируется же
Anonymous
селинукс обычно не даёт в принципе сделать что-то, а не сделать на половину =)
Anonymous
Вроде разделы и не монтирую. Делаю VOLUME
Simak
Раздел, это тоже папка, но докер интерпретирует это по своему
Simak
Если бы вы монтировали именно раздел, то mysql у вас бы инициализировался еще при сборке
Simak
А получается, что он инициализируется у вас, и вы этот слой перекрываете монтируемым каталогом.
Anonymous
А получается, что он инициализируется у вас, и вы этот слой перекрываете монтируемым каталогом.
каталог /etc ни чем не перекрывается. но в нём косяк, конфиг там не тот
Artem
Берешь официальный образ, копируешь оттуда etc/mysql себе на хост, правишь как нужно и потом закидываешь/маунтишь в образ
Anton
каталог /etc ни чем не перекрывается. но в нём косяк, конфиг там не тот
Configuration without a cnf file Many configuration options can be passed as flags to mysqld.
Artem
Должно работать в любом случае
Anonymous
а потом делаю кат конфига внутри докера, а там другое
Anonymous
Должно работать в любом случае
я тоже так думал, а оказалось, что всё не так
Artem
А ты какую директорию маунтишь
Artem
?
Anton
Возникает вопрос, как его вытащить из готовго образа
не благодари https://github.com/docker-library/mysql/tree/master/8.0
Artem
Он уже ознакомился)
Simak
-v mysql:/var/lib/mysql так ты проиницилизируешь раздел. -v /opt/data:/var/lib/mysql это каталог, и если ты делаешь докер файл по типу FROM centos RUN yum update && yum install mysql -y CMD ["mysqld"] Это большая разница
Simak
https://blog.amartynov.ru/docker-mysql/
Simak
Вот так тебе будет легче наверное )
нꙺ
общак, ты братух с какой зоны?
Кек, поцанята, а это точно чатик докера?
Anonymous
Anonymous
-v mysql:/var/lib/mysql так ты проиницилизируешь раздел. -v /opt/data:/var/lib/mysql это каталог, и если ты делаешь докер файл по типу FROM centos RUN yum update && yum install mysql -y CMD ["mysqld"] Это большая разница
мне нафиг не нужны ключи командной строки!!! Я пишу докерфайл. И как маунтить вольюмы я знаю. Вот только разницы между твомими двумя строками я осбой не увидел. Чем отличается mysql от /opt/data? Где существует этот mysql?
Anonymous
https://blog.amartynov.ru/docker-mysql/
Не поверишь, гуглом пользоваться умею и именно по этой статье и делал.
Simak
Можно вопрос, ты вот объявил VOLUME в докер файле
Simak
а потом как ты создаешь контейнер?
Simak
через компис?
Anonymous
Нет, я в докер композе указал пачку вольюмов
Anonymous
Кстати, возник вопрос про VOLUME в Dockerfile. Это штука которая резервирует некий путь внутри контейнера, который потом, в композе или ключами при запуске я могу замонтировать с каталогом на хостовой системе?
Anonymous
А если не указывать его в Dockerfile, а сразу вольюмы монтировать, что изменится?
Simak
вот в этом и есть разница между монтирование папок
Simak
и монтирование разделов
Simak
и время их объявления
Simak
фишка вот в чем
Simak
что бы ты записал на этот вольюм что нибудь. Тебе надо вовремя его объявить.