Zloi
Народ, всем привет. Подскажите по portainer. В нем есть апплеты например с redmine. Как в него встроить nano и вообще где храняться конфиги этих апплетов? И еще вопрос. Как в тот же redmine устанавливать плагины?
Dmitry
Vladislav 👻
1. Ансибл и композ перпендикулярны 2. Ансибл имеет смысл при любом числе серверов больше 0
Да не перпендикулярны. На ансибле можно описать все, как в композе, только у ансибла еще идемпотентность
Alexei
Подскажите, есть образ "plugins/docker:latest" . Мне, чтобы он работал так, как надо мне, требуется просто добавить к образу пару файлов (/etc/docker/certs.d/ip_сервера/сертификат.crt ) достаточно ли будет такого файла Dockerfile: FROM plugins/docker:latest RUN mkdir /etc/docker/certs.d/ RUN mkdir /etc/docker/certs.d/192.168.1.127:5000/ ADD .certs.d/192.168.1.127:5000/* /etc/docker/certs.d/192.168.1.127:5000/ для модификации, или могу нарваться на какое-либо непонятное поведение?
Юрий
Почему просто не пробросить их через -v?
Alexei
Почему просто не пробросить их через -v?
Проблема в том, что запуском этого плагина заведует drone ci. я посмотрю, умеет ли он пробрасывать дополнительно, но не уверен, что это возможно...
Игорь
А на проде какую политику для контенера лучше выставлять: restart always?
Ivan
Всем привет, есть кто может платно проконсультировать по docker-compose? Нужно правильно сеть между контейнерами организовать с vpn сетью. И объяснить если что-то будет не понятно, почему именно так. Подробности задачи в ЛС.
Ivan
Тяжело так. Могу рассказать, но вообще это фиговая идея
Тогда давай в ЛС в любом случае оплачу консультацию, просто уже устал читать доки и гуглить, очень мало по моей задаче инфы, видимо она кривая)
L-dar
Подскажите пожалуйста, есть ли какой нибудь удобный инструмент. Мне необходимо запускать несколько докер вебсерверов под разными портами. Их может быть много. И скорее всего с один и тем же докер образом. Это делается для демонстрации проекта для клиентов перед продажей. Т.е. чтоб был какой нибудь UI и там по клику можно было поднимать образы. Спасибо!
George
Консоль рулит. Ну, и вообще есть всякие admiral, portainer
L-dar
Ну есть продукт. Чтоб его продать, нужно запустить для них временый сервер и дать доступ. Они поигрались там и все.
L-dar
А kubernetes это не про это?
L-dar
Сам локально сижу под консолью, это делается не для меня
L-dar
Спасибо. Попробую
Старый
Сделай свой веб интерфейс
не все такие умные как ты
George
не все такие умные как ты
Фласк, фигак-фигак, и в продакшнн
George
И я чувствую издевку в твоём тоне
Alexei
Подскажите, по Docerfile Не проходит такая команда ADD /tmp/cache/alexeiTest.jar /usr/local/bin/ Step 3/4 : ADD /tmp/cache/alexeiTest.jar /usr/local/bin/ ADD failed: stat /var/lib/docker/tmp/docker-builder436077528/tmp/cache/alexeiTest.jar: no such file or directory Собственно, что хочу сотворить: идет сборка мавеном, результат кидается в директорию /tmp/cache , а следом идет сборка docer образа.
Rainbow
ls /tmp/cache перед docker build сделай. Оно же все просто отслеживается
Rainbow
И лучше COPY использовать всегда
Alexei
перед сборкой смысла нет смотреть - я сейчас вручную собираю, файл туда поместил сам.
Alexei
RUN ls /tmp/cache - пустой вывод.
Rainbow
А, docker же не поддерживает абсолютные пути
Rainbow
только те, что есть в текущей папке, если делаешь docker build . . эт текущая папка
Rainbow
tar -zcvf dev.tar.gz package.json yarn.lock Dockerfile.dev docker build -f Dockerfile.dev - < dev.tar.gz потому что на самом деле он там собирает сначала "контекст" и отправляет на сборку. Вот так можно руками собирать контекст. Это так, для теории
Alexei
о, спасибо. за наводку, я уже просто и workdir сделал в /tmp/cache , но все равно путь не менял :(
Rainbow
/tmp нет в контексте собранном
Rainbow
помести файл в текущую папку или собирай контекст руками
Rainbow
можно сделать docker build /tmp/cache COPY alexeiTest.jar /usr/local/bin/
Alexei
спасибо. буду пробовать переместить.
Rainbow
А вообще не стоит собирать локально, а потом делать ADD лучше multistage сделать
Ilya
Господа, я правильно понимаю, что чтобы обращаться из докер контейнера к какому-то адресу в сети, не нужно ничего особо в конфиге прописывать?
Ilya
Только если я к приложению извне хочу подрубиться, то нужен EXPOSE?
Alexei
так у меня просто сборка на 2 этапа разбита, 1 этап - сборка через мавен, и затем копирование результата в примонтированную директорию и второй этап - это уже сборка докер образа. Я просто отлаживаю вручную.
Rainbow
EXPOSE почти ничего не делает, нужно прокидывать порты через docker run -p
Rainbow
The EXPOSE instruction does not actually publish the port. It functions as a type of documentation between the person who builds the image and the person who runs the container, about which ports are intended to be published
Ilya
EXPOSE почти ничего не делает, нужно прокидывать порты через docker run -p
Это в обе стороны нужно? Или только когда снаружи стучаться
Alexei
FROM maven as build RUN build... FROM java COPY --from=build /tmp/my.jar /usr/local/bin/ это делается без примонтированных папок
читал я это, но не понял абсолютно... Когда я просто использую сборку, я пишу docker build -t МОЙ_ТЭГ . на выходе я получаю образ. А как быть при Multi-stage builds ? что я получу на выходе? в смысле как я узнаю имя?
Alexei
тож самое, выход последнего FROM
А можете подсказать, где искать результат вот такого билда? FROM 3.6.0-jdk-8 as build RUN mvn clean package в результате должна в текущей директории создаться директория target и в ней мой файл. а для второго шага FROM anapsix/alpine-java:8 as result не понятно, где искать файл.
Alexei
WORKDIR /app RUN mvn
Огромное спасибо! все получилось :) Осталось настроить кэширующий мавен репозиторий :)
Anonymous
Уважаемые, как быть, есть вот докер получается, создал я контейнер с велью все такое как у людей кароч, но тут проблема запускаю я скрипт аля: node index.js — все ок
Anonymous
Но стоит мне уйти и пиздец
Anonymous
То есть: nohup node index.js & exit
Anonymous
Как быть ?
Rainbow
Как быть ?
docker run -d --name myapp --restart always ...
Anonymous
docker run -d --name myapp --restart always ...
Что происходит тут ?
Rainbow
docker run --help
Anonymous
мне нужно чтоб у меня еще консоль открылась -d этого не позволит вроде
Rainbow
docker logs --follow myapp
Alexei
Хотелось бы еще уточнить, для приложений, завернутых в докер, для настройки лучше, как я понимаю, читать переменные окружения?
Ильдар
Да
Владимир
@alexesDev привет, ты советовал по поводу кастомного entrypoint, я в своём пишу в конце exec base-entrypoint $@, а контейнер, зараза, перезапускается
Rainbow
Прям base-entrypoint?
Rainbow
его нужно посмотреть в docker image ispect и подставить
Владимир
Да, прям его и ставлю
Владимир
еще там есть такое "Cmd": [ "/bin/sh", "-c", "#(nop) ", "CMD [\"php-fpm\"]" ],
Ильдар
https://m.habr.com/ru/company/southbridge/blog/329138/
Владимир
Листал я эту статью, но не подробно
Ильдар
Какие вопросы остались?
Владимир
Фигли так много неочевидных вещей всего в двух очень похожих командах?
Владимир
Факт 6c: При использовании режима exec для инструкции ENTRYPOINT необходимо использовать режим exec и для инструкции CMD. Если этого не сделать, Docker попытается добавить sh -c в уже добавленные аргументы, что может привести к некоторым непредсказуемым результатам.
Ильдар
Это к разработчикам) "так сложилось исторически" - норм?
Владимир
Да, отлично, когда слышу такое на работе - сразу пригорать начинает
Владимир
ENTRYPOINT ["entrypoint"] CMD ["/bin/sh", "-c", "php-fpm"] - вот так я дописал в своём контейнере и пошло поехало, ведь в base-entrypoint вот так - https://github.com/docker-library/php/blob/bb16de8a711d1ba1dc76adf4665b3b1c06a06922/7.3/stretch/cli/docker-php-entrypoint