Хоттабыч 🐕
выдает справку по команде docker-compose если добавить ключ -f
Dan
попробуй --verbose
Dan
посмотри что пишет
Dan
https://docs.docker.com/compose/reference/overview/
Dan
Там в начале доки есть мануал
Dan
но вангую -f не поможет
Solyar
Еще интереснее
Dan
так же
есть вероятность что у тебя docker-compose просто битый
Dan
но это не точно
Dan
ты конечно не можешь посмотреть обращения процесса к файлам?
Dan
strace запусти :)
Хоттабыч 🐕
да уже
Хоттабыч 🐕
в общем плюнул, обновил компоуз
Хоттабыч 🐕
и все пошло
Хоттабыч 🐕
всем спаибо
Егор
Подскажите, можно ли из одного docker-compose собрать 2 разных контейнреа: version: '3.7' services: my-container: container_name: ${CONTAINER_NAME} build: context: .. dockerfile: deployments/Dockerfile И запустить одновременно. Т.е. в одном случае я запускаю: CONTAINER_NAME=c2 docker-compose up my-container После него запускаю: CONTAINER_NAME=c2 docker-compose up my-container Можно ли сделать так, чтобы они оба работали?
Егор
Странно. Такое ощущение, что один прибивает другой.
Evgenii
возможно у одного из них просто точка входа завершается сразу
Evgenii
когда запущенный процесс завершается, контейнер останавливается
Егор
возможно у одного из них просто точка входа завершается сразу
Когда я делаю docker ps --all, я вижу только один из контейнеров. Второй
Evgenii
в композе как раз поднимают параллельно кучу всего, для того он и нужен. Базу в одном контейнере, приложение в другом и тд
Evgenii
посмотри в докер хабе любой докер файл, где внутри несколько сервисов
Егор
Кажется, это другое
Evgenii
компос прибавляет имя папки из которой запусается докер файл к именам сервисов и к томам и тд..
Егор
компос прибавляет имя папки из которой запусается докер файл к именам сервисов и к томам и тд..
В первом случае поднимает контейнер с сервисом. А затем — с тестами.
Evgenii
в разные папки помести и все
Егор
Ну, тогда уж проще ещё один сервис добавить.
Evgenii
ты увидишь что запущено "имяпапки_имя сервиса_1"
Егор
ты увидишь что запущено "имяпапки_имя сервиса_1"
Это я могу сделать с помощью container_name. Вопрос-то про другое
Evgenii
а как ты делаешь разницу если файл один и тот же.. как окружение задаешь
Evgenii
идея композа в том чтобы декларировать в файле окружение.. типа вот запускаем для тестов, вот в прод, вот еще что то.. там в инвайроментах предаем все что надо и тд
Егор
а как ты делаешь разницу если файл один и тот же.. как окружение задаешь
Переменную окружения устанавливаешь и она прокидывается в докер
Evgenii
ну вот в композ файле ты ее устанавливаешь, значит файлы разные должны быть
Егор
ну вот в композ файле ты ее устанавливаешь, значит файлы разные должны быть
Блин. Ладно. Видимо, не доходит или я плохо объясняю.
Evgenii
может я не понимаю, потому что по другому делаю.. я захожу в папку где лежит Docker-compose.yaml и выполняю docker-compose up -d
Evgenii
он выполнит файл с именем Docker-compose и никакой другой. Я знаю что как то можно указывать конкретный файл в папке, но смысла не видел. Если нужен еще один сервис с другими параметрами - это будет соседняя папка, с файлом, который тоже называется Docker-compose, но там будут другие переменные
Егор
version: '3.7' services: my-container: container_name: ${CONTAINER_NAME} environment: - DOCKER_COMMAND=${DOCKER_COMMAND} build: context: .. dockerfile: deployments/Dockerfile Давайте добавим ещё DOCKER_COMMAND. И тогда одну команду я запускаю как DOCKER_COMMAND=run CONTAINER_NAME=c2 docker-compose up my-container Другую DOCKER_COMMAND=test CONTAINER_NAME=c2 docker-compose up my-container
Evgenii
а что делает докер команд?
Егор
FROM ***/ap/base-images/clearlinux-golang:0.4.0 ENV DOCKER_COMMAND ${DOCKER_COMMAND} ENV ENV ${ENV} COPY . /app WORKDIR /app RUN NEED_IMPORT_ENVS=no make deps CMD NEED_IMPORT_ENVS=no ENV=${ENV} make ${DOCKER_COMMAND}
Evgenii
а.. понял..
Evgenii
выглядит как абстракция над абстракцией.. может все таки будет проще и понятнее писать переменные в композ файлы и не мучаться. По моему оно для этого делалось
Salem
Господа, а подскажите имадж или 2 nginx + certbot без танцев с бубном, что-то с наскоку не найду
Timur
если так стоит вопрос, то на docker hub есть такой образ, но философия контейнеров: одна задача = один контейнер, поэтому лучше использовать отдельные образы(контейнеры) nginx и certbot
Salem
А ссылочку на этот имадж не подкинете?
Salem
Ну или на докер композ готовый
Salem
Только чтобы не двухэтапный был, сначала стартуем сервер, генерим серты, а потом перезапускаем сервер
Timur
https://hub.docker.com/r/staticfloat/nginx-certbot
Timur
А ссылочку на этот имадж не подкинете?
ссылочка выше, но крайне рекомендую собрать compose самостоятельно)
Timur
из отдельных nginx и certbot
Timur
там же есть ссылка на репу в git, там подробно расписано что, да как
Вадим
всем привет подскажите volume шарятся между нодами в swarm или сервисы нужно прибивать к нодам где эти вольюмы созданы?
Timur
Хотелось бы готового
он готовый), насколько готовый вам нужен?
Salem
Ок, спасибо
Timur
там же только свой nginx.conf прописать, даже шаблон есть, и есть docker-compose.yml куда свои конфиги подцепить и запускать)
Timur
Ок, спасибо
https://github.com/staticfloat/docker-nginx-certbot
Вадим
Если локальнык тома, то сервисы прибивать надо
А какие считаются локальными? Докер не делает сетевые линки между хостами на тома?
Anonymous
А какие считаются локальными? Докер не делает сетевые линки между хостами на тома?
По умолчанию, если не указываешь какой то сетевой драйвер
Sergey
https://github.com/staticfloat/docker-nginx-certbot
Вау. Только об этом подумал, спасибо
Anonymous
а как можно заставить докер располагаться на другом диске?
Div
стопнуть сервис, перенести данные на другой том и сделать симлинк на новое место
Anonymous
дак у меня все данные в докере, мне просто понять как я могу запустить образ на другом диске
Div
я бы сказал, что вы можете либо перенести все либо оставить как есть.
Div
ну или мы не поняли друг друга. уточните вашу фразу "запустить образ на другом диске"
Div
вы про волюмы?
Anonymous
образы храняться на диске, контейнеры запускаются в оперативке, есть еще тома с данными на диске
Anonymous
я очень мало знаю о самих образах, я качаю контейнер, он весит 700мб, он же где то располагает, могу ли я изменить ему место обитания
Anonymous
спасибо я понял
Anonymous
спасибо я понял
https://docs.docker.com/config/daemon/
Elnee
Всем привет. Кто-то сталкивался с проблемой при установке keyboard-configuration в убунту? Появляется промпт и билд контейнера просто зависает. В интернете везде находится решение с переменной среды DEBIAN_FRONTEND=noninteractive, я её устанавливаю перед вызовом скрипта с инсталами. Проверял до этого через printenv, переменная устанавливается корректно. Проблема в том, что debconf кажется её игнорирует и в любом случае я получаю этот промпт и ничего дальше не могу сделать. Была ли у кого-то такая проблема и как её удавалось решить?