Anonymous
Да.
спасибо
łibfitź.r14.a
Подскажите, можно в одном докерфайле определить несколько образов, а потом как-то собирать только конкретный из них? В доках видел docker build --target xxx, но это не совсем то, потому что так и предыдущие образы соберутся, а мне нужен только один Зачем - Сейчас в CI собирается приложенька, у нее клиентская и серверная часть. Надо в CI же прогнать тесты, и если все хорошо - отправить образ приложения в реджистри. Сейчас есть три докерфайла - приложение, тесты клиента, тесты сервера. Хочется обойтись двумя, но не знаю, как нормально это сделать. Одним в принципе тоже можно, но тогда придется жить с девами в одном докерфайле, а они индусы (ну вы поняли)
George
> Хочется обойтись двумя, но не знаю, как нормально это сделать. странное желание. А я хочу мороженки )
łibfitź.r14.a
не парься. Ну, соберутся все предыдущие и что?
Это займет больше времени, потому что для тестов нужны дев зависимости, которые разные для клиента и сервера. Соответственно в каждом образе мне сперва нужно их впилить
George
пока все выглядит как сферический конь в вакууме
George
можешь сделать так
George
FROM blablabla1 as base ..... FROM blablaba1 as prod COPY —from=base blablabla ..... FROM prod as test RUN apt install dev-dependency
George
чутка порядок поменять
George
и если выберешь target prod, то test собираться не будет
łibfitź.r14.a
Логично, но опять же слегка не то. Чтобы конь был чуть менее сферический. Эта хрень на ноде. Там два package.json и в каждом свои зависимости. Сейчас у меня два дополнительных докерфайла, из которых образы билдятся параллельно по двум причинам - 1) ради экономии времени 2) чтобы тесты клиента прогнались, даже если тесты сервера упали (или наоборот) В принципе, все и так работает, просто хочется красивше
łibfitź.r14.a
Возможно я просто хочу странного ¯\_(ツ)_/¯
George
похоже, что меньше 2-х не получится
Anton
--rm гарантирует полное удаление контейнера после остановки, или что-то остается?
Petr
волумы
Anton
какие?
Petr
которые монтируются
Anton
docker run --rm alpine sh -c "echo test123 >> test.txt" вот после такого запуска я смогу где-то на хосте найти содержимое test.txt?
George
нет
George
не найдешь от слова совсем
Anton
а без --rm найду?
George
да, в каталоге /var/lib/docker/containers
Anton
ок, спс
A1EF
Эй, пацан! Есть test.txt? А если найду?
A1EF
Простите:)
Anton
которые монтируются
не все кстати. Анонимные удаляются.
Igor
а без --rm найду?
https://docs.docker.com/storage/storagedriver/
Anton
Эй, пацан! Есть test.txt? А если найду?
извини, братан, у меня --rm
Алексей
Всем привет. Посадили на новый проект, в котором юзается битбакет. Начинаю изучать, как работает его CI. Столкнулся с непонятной ситуацией. Вроде сказано, что этот CI весь вокруг докера. Там даже есть директива image в самом ямле, после указания которого все будет происходить в указанном контейнере. Но я не хочу запускать все внутри докера, а хочу просто запускать какие-то баш скрипты и прочее НЕ в докере, а на самой машине
George
вообще чуваки пишут, что у них нет он према
George
https://community.atlassian.com/t5/Bitbucket-questions/Bitbucket-Pipelines-agent-for-on-prem-pipeline-actions/qaq-p/859615
George
т.е. единственный вариант, по ходу, из докера делать ssh на целевую машину. сорян
Алексей
а чо это за "я не хочу"? ))))
А что?) Человек что-то может хотеть, а может и не хотеть) Или что вы хотели спросить?
Александр
Привет, пытаюсь запустить gitlab runner через run на centos 7 а выдаёт такое [root@osr-dev-docker gitlab-runner]# gitlab-runner run Runtime platform arch=amd64 os=linux pid=36717 revision=577f813d version=12.5.0 Starting multi-runner from /etc/gitlab-runner/config.toml ... builds=0 Running in system-mode. Configuration loaded builds=0 Locking configuration file builds=0 file=/etc/gitlab-runner/config.toml pid=36717 FATAL: Could not handle configuration file locking builds=0 error=file "/etc/gitlab-runner/config.toml.lock" is locked by another process file=/etc/gitlab-runner/config.toml pid=36717
George
Написано же
George
Может селинукс ?
Александр
Может селинукс ?
Не понял, но увидел что вроде стартует мультиранер а уже вроде работает раннер, а где он работает неизвестно
Александр
Я из этой ошибки вообще теряюсь он берет, config.toml, лочет его, а потом пишет - не могу к нему обратиться так как он залочен
Vladimir
help me to create docker container with something inside that will not stop in 10 seconds after docker stop
victor
r u kiddin?
Boris 🦍
help me to create docker container with something inside that will not stop in 10 seconds after docker stop
you can stop the container like docker stop -t 10 <container_name> do you need this ?
Vladimir
app inside of container should not react on SIGHTERM
George
just ignore it. Like with settrap in bash
Виктор
Может селинукс ?
Слушай, ты прямо-таки гик, в лучшем смысле определения, сколько же тратишь времени на однотипные вопросы?
George
🤷‍♂️
George
это мой спинной мозг отвечает
George
не парься, в общем
Виктор
George
было бы чему
Виктор
было бы чему
Коммьюнити хорошее, и помочь бы хотелось, но дедлайны не пускают. А ты всегда помогаешь
łibfitź.r14.a
В каждом гик-чате должен быть хотя бы один чувак, который знает все
Dmitry
это мой спинной мозг отвечает
😂 это пока почти-легаси технология не всплывет
central
@Atassis
Roman Karas`
Всем утра! Парни подскажите пожалста, в docker-compose.yml есть необходимость при запуске на машине где $NODE_ENV=dev использовать файл с переменными под названием .env.dev, а на машине где $NODE_ENV=prod нужно подтягивать файл .env.prod. Вопрос, можно ли как-то проверять переменную $NODE_ENV и в зависимости от её значения подтягивать нужный файл? Или я велик с костылями изобретаю? ))
Roman Karas`
docker-compose.yml выглядит вот так. хочу менять значение в каждом контейнере вот этого параметра env_file: - .env
George
изобретаешь велик. Обычно делают как. Ты просто копируешь нужный тебе файл в .env
George
либо ты можешь попробовать сделать по-другому
George
.env - в нем задаешь NODE_ENV=dev или NODE_ENV=prod
George
файлы .env.dev и .env.prod - содержат конкретные значения, а подключаешь так: ... env_file: - .env.${NODE_ENV}
George
но не гарантирую, что взлетит. Ну, либо можешь тупо формировать компоуз файл на лету make_docker_compose | docker-compose -f /dev/stdin up
Roman Karas`
Георг, моё почтение! ) Я понял, буду пробовать.. Пасиба!
inqfen
красивое решение имхо )
Красивое решение - композ на проде не использовать
Roman Karas`
inqfen
Это в первую очередь для разработки и для сворма ебучего
Roman Karas`
Это в первую очередь для разработки и для сворма ебучего
а вот если мне нужно будет поднять вторую копию приложения+база, а потом возможно третью.. а там как масть пойдёт, то с doker-ом оно как-то сподручнее мне каэцца
inqfen
Там как раз и разные переменные и все что хочешь
inqfen
И не надо костыли городить
inqfen
Сам-то докер никуда не денется
Roman Karas`
мм... с кубом еще не доводилось возиться, ансибл как-то ставил виртуалками рулить
Roman Karas`
Ребят, а что скажете насчёт Portainer или Rancher? если уж докер например... блин опять маны курить, заколебался уже )
victor
ранчер он же под кубер вроде?