Oleg
не забудь указать VIRTUAL_PORT
как будет указан env тогда ? тоесть два разных virtual_host и соответнно порта
Oleg
сделал, но проксирует по идиотски
Dos
вот так организовать структуру нормально?https://stackoverflow.com/questions/46346522
𝕀𝕘𝕠𝕣
привет, подскажите, как проще по volume id узнать какому контейнеру оно принадлежит? можно в docker inspect контейнер увидеть volume, а по volume как определить контейнер?
Dsemenov
Тут
Dos
как указать в docker-compose 'volumes:' конкретный директори?
Sergey
volumes: - /to/host/directory:/to/container/directory ?
Dos
это в сервис? я хотел отдельно описать ладно так попробую
Sergey
отдельно тоже катит
Sergey
https://docs.docker.com/compose/compose-file/#short-syntax-3
Dos
volumes: - /to/host/directory:/to/container/directory ?
этого достаточно, чтобы внутри контейнера иметь /to/container/directory?
Dos
почему здесь https://docs.docker.com/compose/django/#create-a-django-project и volumes:- .:/code указывает и ADD . /code/ делает? Разве ADD не добавляет папку в имейдж?
Alexander
ну увидеть разные)
docker volume inspect что кажет? (у меня нет volume чтобы проверить)
𝕀𝕘𝕠𝕣
да, он покажет волум, но я хочу найти по волуму контейнер, т.е. если много контейнеров искать в каждом контейнере гемор
𝕀𝕘𝕠𝕣
docker volume inspect что кажет? (у меня нет volume чтобы проверить)
а перепутал docker inspect контейнер щас гляну
Dos
юмор, а если попробовать удалить ? не скажет используется этими контейнерами?)))
Sergey
docker ps -f "volume=/var/lib/mysql" ?
Sergey
ну или по имени, вместо пути
Vadim
Всем привет! Подскажите пожалуйста, а был ли у кого-нибудь опыт настройки Certbot для Amazon Linux? Есть django-приложение, которое запускаю через docker-compose (так как присутствуют еще nginx и rabbitmq сервисы). При запуске через http все ок - приложение грузится, при https - Этот сайт не может обеспечить безопасное соединение docker-compose.yml - https://pastebin.com/wLJr0p6Y nginx-conf.conf - https://pastebin.com/DEQiMfga Заранее благодарю!
Vadim
Запускаю nginx как compose-сервис Передаю в него конфиги Может проблема в том, что не указываю какие-то дополнительные параметры Если он не причем - это здорово сужает область проблемы 😊
Vladislav
Всем привет! Я недавно познакомился с докером и у меня возник вопрос - как заставить его подняться самому после ошибки? Использую docker-compose v3 текущий конфиг (его часть) выглядит так:
Vladislav
Vladislav
P.S. проблема в том, что в момент, когда поднимается сервер, он не может подключиться к БД т.к. в это время она только собирается
twwlf
ну и плюс у тебя должен завершаться процесс при проблемах с соединением к бд
Vladislav
это не решение проблемы. Данная команда следит за стартом, а не за завершением сборки
twwlf
это правда
Vladislav
в официальной доке указано, что depends_on не ждет момента, когда контейнер будет "готов", а запускает зависимый сразу после инициализации первого
Vladislav
и да, я это указал и проблема только при первом запуске, когда база данных еще не собрана, но это же ужасно - вручную пересобирать
Vladislav
ну и плюс у тебя должен завершаться процесс при проблемах с соединением к бд
зачем ему завершаться? если проблемы с соединением, то он должен произвести повторную попытку
Vlad
зачем ему завершаться? если проблемы с соединением, то он должен произвести повторную попытку
Вначале ты говоришь, что из-за ошибки не рестартится, теперь ты говоришь, что это не ошибка. Сделай у себя в коде отсутствие соединения с базой как ошибку. Тогда контейнер автоматически перезапустится. И напиши, как тебе посоветовали, depends_on. Тогда твой контейнер не стартанет, пока не запустится контейнер с базой.
Denis
Можете подсказать, как поменять файл внутри контейнера, скачанный с другого репозитория?
Denis
Denis
Вот, если точнее
Artem
Заходим и меняем через sed, потом коммитим контейнер, если надо.
Hикoлaй
в официальной доке указано, что depends_on не ждет момента, когда контейнер будет "готов", а запускает зависимый сразу после инициализации первого
но там так же написано про условия service_started и service_healthy, я у себя заюзал service_healthy, правда нужно описывать в докерфайлах проверку "здоровья", типа для веба HEALTHCHECK CMD curl --fail http://127.0.0.1/ || exit 1
Vladislav
Вначале ты говоришь, что из-за ошибки не рестартится, теперь ты говоришь, что это не ошибка. Сделай у себя в коде отсутствие соединения с базой как ошибку. Тогда контейнер автоматически перезапустится. И напиши, как тебе посоветовали, depends_on. Тогда твой контейнер не стартанет, пока не запустится контейнер с базой.
1) я говорил, что рестарт, в случае ошибки, просто не происходит, из-за чего я не могу понять что я делаю не так. Просто идет его игнорирование. 2) depends_on не помогает. при создании контейнера база НЕ успевает подняться, из-за чего происходит падение. При последующих запусках работает так, как надо. Я приложил ссылку с полным конфигом данного сервиса https://pastebin.com/hhzEu4xY
Andrey
Хелсчек запили
Andrey
Решит многие проблемы :)
Vladislav
ок, сейчас попробую)
Hикoлaй
Народ, подскажите плиз. Кейс такой: для прода собираю контейнер, в нем присобачиваю текущий каталог в контейнер ADD ["./", "/var/www/app/"], потом аккурат перед entrypoint выполняю свой init.sh где в прилагу устанавливаются зависимости и происходит миграция, далее все стартует норм. Для девелопмента же надо каталог проекта монтировать в контейнер, для моментальных изменений. Я это делаю так: в докерфайле ничего не меняю, каталог так же добавляется, но в docker-compose я поверх монтирую каталог volumes: - "./qr-sender/:/var/www/app" но дело в том что монтирование происходит уже после отработки докерфайла где устанавливаются зависимости, и от этого все плохо((( Как этот момент вы у себя обрабатываете? Есть конечно мысля написать в композе command с нужным набором команд, но мне кажется это дико не удобно и не правильно
Artem
Добавь свой init в энтрипойнт
Artem
И передавай ему какой нибудь энвайромент для отработки
Artem
Типо init=1 для его запуска
Hикoлaй
Добавь свой init в энтрипойнт
а ентрипоинт выполняется после монтирования каталога из композа?
Artem
Да
Hикoлaй
спс, щас попробую..
Hикoлaй
Artem
В скрипте энтрипойнта читаешь переменную init перед запуском основного процесса если она задана, то выполняешь нужные манипуляции
Anonymous
коллеги, всем доброго дня!
Hикoлaй
Добавь свой init в энтрипойнт
Спасибо! все отлично заработало!
Anonymous
такая проблема (не уверен, проблема ли, баг или фича): в общем создаём к примеру каталог /docker, метку селинукс не прописываем. права оставляем по дефолту. разве селинукс должен разрешить запись данных из контейнера в этот каталог в таком случае?
Anonymous
а, монтируем каталог в контейнер перед запуском, разумеется: -v /docker:/var/lib/mysql
Anonymous
потому что летом и в версии 16.03-16.09 это точно не работало
Anonymous
вопрос снят
Anonymous
в связи с тем, что на сайте заявлена поддержка selinux только для EE версии
Fomalhaut
Приветствую постояльцев! 😊
Fomalhaut
Подскажите, плз, как можно вывести список версий контейнера (или как там правильно)? Ведь можно указать ubuntu:14.04, если надо именно такой, а не latest. А вот сам список как увидеть?
Artem
docker ps и там где IMAGE написан же тег
Artem
или ты вообще про то какие доступны?
Алексей
docker hub
Artem
Заходишь в докерхаб и смотришь какие теги доступны
Fomalhaut
Понятно. Думал, что есть что-то аналогичное центовскому yum list —showduplicates
Fomalhaut
Спасибо
Nklya
У меня такой алиас прибит для получения списка тегов gettags(){ curl -s https://registry.hub.docker.com/v1/repositories/$1/tags|jq . }
Andrey
Ребят, всем привет. Скажите, а как по канонам докера собирать php сайтики? По сути какие есть компоненты: 1) PHP код бека 2) html/css/js и вот это вот всё для фронта 3) php-fpm 4) nginx 5) База Исходя из логики 1 процесс 1 контейнер, мне надо: 1) Volume для кода 2) Контейнер с php-fpm 3) Контейнер с nginx 4) Контейнер с базой И вроде как все логично, но не редко вижу когда php суют вместе с кодом в один контейнер. А иногда еще и базу к ним селят. Хотелось бы мнения послушать.
Oleh
Один процесс на контейнер. Маунтишь вольюмы с базой и кодом отдельно. Остальное можно в контейнерах хранить.
Fomalhaut
А насколько рекомендовано деление "Один процесс - один контейнер"? У меня nginx (frontend) и toncat (backend) - я подумывал объединить.
Fomalhaut
Мне кажется, что вполне можно объединять, чтобы не плодить сущности, по некоторым признакам.
Anonymous
Лучше держать в отдельных контейнерах