Anonymous
внутри meteor docker команда docker не найдена
Evgeny
значит не там ее надо запускать. команду можете написать?
Anonymous
$(which docker) run --security-opt seccomp=unconfined --rm -v $(pwd):/converted/ arachnysdocker/athenapdf athenapdf ${printUrl} -S
Anonymous
printUrl это любой url
Anonymous
-S это отправка результата в stdout
Anonymous
--security-opt seccomp=unconfined - эт в целом лишнее
Evgeny
добавить докер в контейнер с метеором - идея плохая. лучше из метеора поднимать какуюто таску где-то (геарманд?) а на хосте рекгулярно запускать контейнер который будет проверять есть ли таска и запускать этот контейнер
Anonymous
команду целиком пытаюсь запустить child_process.exec
Anonymous
dogitalocean
Anonymous
docker images - крутятся десяток я полагаю мне надо 2 вещи запустить image с athenapdf на каком то порту и правильно указать вызов из meteor
Anonymous
с передачей параметов и получением результата
Evgeny
Если athenapdf умеет управляться через порт - тогда надо связать два контейнера через —link и управлять из метеора через порт
Anonymous
docker run -p 8080:8080 --rm arachnysdocker/athenapdf-servicedocker run -p 8080:8080 --rm arachnysdocker/athenapdf-service
Anonymous
ага - вроде понял почти - там в конце после большой картинки полностью написанно что надо :) https://github.com/arachnys/athenapdf
Anonymous
а docker-address как определить - это localhost или ip компьютера внешний или еще что то ?
Sergei
-
Evgeny
если чреез линк - то по имени хоста
Evgeny
если через экспоз порта - зависит от того на что экспозите
Anonymous
сейчас если запускаю команду docker run -p 8080:8080 --rm arachnysdocker/athenapdf-service то она работает но висит в консоли - как правильно ее запускать чтоб она запущенно было всегда
Sergei
-d
Sergei
Docker run --help
Anonymous
спасибо
Anonymous
У меня вопрос не по докеру
Anonymous
С чем может быть связано, что скрипт не запускается при шатдауне?
Anonymous
В chkconfig стоит on для уровня 0
Anonymous
Amazon Linux, то есть по сути centos
Alf 🙀
В chkconfig стоит on для уровня 0
Попробуй 6 добавить
Anonymous
Добавлял, тоже не работает
Anonymous
Есть подозрение, что дело в S00killall
Denis
Сукиллолл
Denis
ребят а у меня вопрос по бестпрактисам сборки контейнеров. У вас есть автоматические сборки контейнеров по результатам создания тега ? Или всегда собираете из одной ветки только, к примеру мастера ?
Anton
ну по ci циклу прокатили - qа сказали ок
Anton
лепим тег, пушим куда хотим
Anonymous
Два тэга: номер версии и latest
Magistr
Два тэга: номер версии и latest
ты гений, одной это фразой помог решить одну проблему
Max
Два тэга: номер версии и latest
+1 У нас тоже два тэга: хэш коммита и latest
🏳️ Phil
ты гений, одной это фразой помог решить одну проблему
хм.... а я это слизал с базовых имаджей
Magistr
хм.... а я это слизал с базовых имаджей
А мне такое просто для гита нужно тоже, чтобы решить проблему тега для версии и протестированной версии
🏳️ Phil
А мне такое просто для гита нужно тоже, чтобы решить проблему тега для версии и протестированной версии
да просто я человек достаточно сторонний вот этому вашему линуксу, девопсу, докеру... а фишку в стандартных сборках подглядел
🏳️ Phil
И в доке вроде прямо в примерах вбито
Vitalii
Сообество, подскажи мне как правильно настроить права на папки и файлы внутри контейнеров? Есть 3 контейнера: app = data-volume контейнер с кодом приложения php = php-fpm nginx = nginx Контейнер app собирается из вот такого Dockerfile —- FROM busybox:musl COPY ./source /var/www/html WORKDIR /var/www/html VOLUME ["/var/www/html"] —- и конечно он через volumes-from маунтит раздел /var/www/html к nginx и php контейнерам. После запуска контейнеров файлы из раздела /var/www/html получают права root:root что, как мне кажется не есть правильным. Как это правильно решить в разрезе докера?
Evgeny
Сделать внутри юзера и работать из под него
Vitalii
Смотри в чем проблема. Когда собирается контейнер app, он ничего не знает про другие два контейнера да и вообще кто будет его маунтить он не знает. Я могу конечно в Dockerfile контейнера app написанть команды создания юзера, сменить владельца файлов и тд... но на кого менять? Вообще владельцем файлов должен быть юзер www-data (от него php-fpm работат). Но этот юзер на момент сборки есть в контейнера php, а не в app.
Evgeny
На момент сборки заведи этого юзера и расшарь его создание между имаджами
Evgeny
потом все из под него
Vitalii
а что значит расшарить между имаджами?
Evgeny
Ну использовать кеш сборки
Evgeny
И будет у тебя во всех контейнерах один юзер https://docs.docker.com/engine/reference/builder/#/user
Vitalii
эм... счас не понял, каким боком кеш сборки иемет отношение к команде USER из докерфайла. И я уже смотрел на команду USER. Но она меняет юзера только для RUN, CMD and ENTRYPOINT
Vitalii
а на COPY и ADD не влияет, я попробовал :)
Evgeny
А у тебя внутри запускается же команда внутри контейнера через одну из этих команд, не?
Evgeny
А...
Vitalii
не, сорцы проекта копируются в контейнер командами котоыре предлагает сам Dockerfile
Evgeny
Ну тогда костылем - либо перед сборкой менять овнера, либо внутри при сборке.ЛУчше снаружи
Vitalii
костыли не нужны, надо нормальнй вариант.
Vitalii
все же одна инфраструктура, должен быть выход
Evgeny
Если у тебя все работает больше чем на одной машине - нормального варианта я не знаю.
Lex
ну да
Lex
из вариантов использовать магию тарболов
Vitalii
у меня alpine везде пока что, но все равно я бы не завязывался
Evgeny
Но, насколько мне известно, нет нормального варианта это все разрулить - нужно немного своих костылей
Vitalii
что именно?
выше я задачу писал...
Evgeny
Организовать совпадение id и gid между машинами сборки, стейджингом и продом так, чтобы это было не root:root
Lex
так
Lex
не должен быть овнером пользователь php-fpm
Lex
ему нужны только права на чтение
Lex
ну и запись во всякий кеш
Lex
но овнером быть не должен
Vitalii
ок, пусть так. А кто должен и где это рулить?
Vitalii
у меня вообще пробела от другого пошла. Я композером долежн пакеты установить, но владелец файлов рут, а от рута композер запускать опасно... соответственно владельцем файлов должен быть любой друго юзер но не рут
Vitalii
а скажите мне еще, что "значит распухать контейнер будет" ?
Evgeny
смена файлов - новый слой
Vitalii
понял
Evgeny
смена прав - в слоях будет две копии
Lex
даже аттибутов