Maksimall89
Добрый день, столкнулся со следующей проблемой оркестрацией. Если запускать просто контейнер вот по такому алгоритму, то всё работает:
docker run -d -p 0.0.0.0:8082:8082 -p 0.0.0.0:4848:4848 -t glassfish /bin/bash
docker ps | grep glassfish
docker exec -it <id_контейнера> bash
asadmin start-domain
Если засунуть всё это в docker-compose:
glassfish:
container_name: glassfish1
image: glassfish
ports:
- "4848:4848"
- "8082:8082"
working_dir: "/usr/local/glassfish4/bin/"
command:
- "asadmin start-domain "
То я получаю ошибку:
ERROR: for glassfish Cannot start service glassfish: Container command '/bin/bash asadmin start-domain --verbose' not found or does not exist.
ERROR: Encountered errors while bringing up the project.
Прошу помочь с этой проблемой, мои идеи иссякли.
Ruslan
в композе нельзя указывать команды с параметрами
Ruslan
оно там оборачивается в кавычки и пытается выполниться как цельная команда
Ruslan
через интерпретатор /bin/sh
Maksimall89
А как тогда выполнить такую команду?
Köfte
bash -c «mycommand myparams»
Ruslan
завернуть в файл, скопировать предварительно в контейнер и запустить через ту же cmd в композе
Bogdan (SirEdvin)
Bogdan (SirEdvin)
Ruslan
о, спасибо
Denis
Продолжим тему Docker под Windows (раньше все наперебой говорили о Serverless, сейчас материалов про это поубавилось, зато все заполонили статьи про Docker+Windows).
В блоге Docker опубликовали запись вебинара "Docker for Windows Server 2016". Материал довольно общий и обзорный, для вхождения в тему.
http://amp.gs/Tsv0
Maksimall89
Alex
Есть на докер шифрование volume'в?
Anonymous
ДРАТУТИ
invariance
датвидания
Alex
Веселого нового года!
Гога
расвет
Dan
Удочка
Albert
Норм
Anonymous
Программе в контейнере нужен порт например 10. Если не пробрасывать его через -p 10000:10 то что будет?
Anonymous
Если он указан в EXPOSE 10
Anonymous
Вопрос назначит ли сам докер автоматом ему внешний порт
Vadim
нет
Anonymous
А как сделать чтобы сам докер назначал
Alexander
EXPOSE - это как коментарий, ничего не делает посути
Vadim
если -P то назначит рандомный порт
Vadim
Anonymous
Вобщем прописать Expose и можно -p не писать?
Vadim
-p внешний:внутренний - тут не имеет значения есть expose или нет
-P - тут все EXPOSE прокинутся на рандомные внешние порты
Alexander
https://docs.docker.com/engine/reference/builder/#/expose
Anonymous
Именно с большой буквы -P ?
Nomadic
Да
-P : Publish all exposed ports to the host interfaces
Prenom
Prenom
Иди отсюда
Anonymous
не знаете, есть ли тут конфа плюсов?
Ssi
Anonymous
спасибо)
Denis
Огонь! 🔥💪
Denis
Mano Marks из Docker написал дашборд, наглядно показывающий состояние Swarm-кластера (количество нод, памяти на каждой ноде, запущенных контейнеров и выполняемых в них процессов).
http://amp.gs/TJ52
Sergey
Товарищи, почему из docker-а не может писать файлы в подключенный volume, хотя права стоят минимум 666
Sergey
permission denied пишет
Стас Щетинников
может на директорию +x право отсутствует?
Anton
в папку пишешь файл?
Sergey
пролил +x - не помогло
Sergey
да, в папку
Anton
для папки нужно выставить +x для пользователя, чтобы пользователь смог туда зайти. попробуй сменить пользователя и зайти так
Sergey
выставил - не пишет
Anton
в docker зашел? или без docker зашел? в папку норм зашел? файл принадлежит пользователю?
Sergey
у меня вольюм с сайтом монтируется в несколько контейнеров
Sergey
везде разный пользователь
Anonymous
а разве не uid должен быть одинаковый?
Anton
почему он должен писать? они все в одну группу входят?
Sergey
а какая разница, если на папки и на файлы 777 стоит?
Anonymous
Anonymous
Надо uid одинаковый. По крайней мере у меня так и все пишется нормально
Alexander
Парни, подскжите кто как разруливает права в контейнере и на хост машине в development
Текушая ситуация
есть development связка из RoR+mysql+sphinx
после выполнения генерации из контейнера
Например docker-compose run backend rails g migration TestTable
создается файл с провами контейнера. Для редактирования разработчику приходится менять права вручную.
Какие есть варианты упростить это для нескольких разработчиков
Alex
ну да, рельсы генерят от рута потому что запущены от рута. Я тоже на это натыкался и не решил.
Alex
Запилил для себя альяс который всем файлам в проекте задает моего юзера.
Alexander
Пока пришла в голову в Dockerfile назначать пользователя с тем же uid что и хост система но есть вероятность что у соседа по разработке uid будет другой
Alex
и вручную его запускаю каждый раз (
Nikolay
Файлы создаются от группы докера же?
Nikolay
На хостмашине
Nikolay
Аа, нет, от рута
Alexander
Проверил, от рута
Nikolay
Ага
Nikolay
Я думал они в группе docker будут
Nikolay
Актуальный кстати вопрос
Nikolay
Если найдешь решение - пиши сюда
Alexander
Пока один из вариантов, всех разрабов заставить поставить себе uid = 1001
а в Dockerfile через gosu запускать под пользователем приложения так же с uid=1001
Alex
а зачем заставить?
Alex
докер композ может хостовую переменную подхватывать
Alex
дальше пилишь энтрипоинт
Alex
который читает ENV и запускает рельсы от него
Nikolay
http://stackoverflow.com/questions/30052019/docker-creates-files-as-root-in-mounted-volume
Nikolay
ну и там по ссылкам можно побегать
Dmitrii
Какие то детские болезни у докера, чем больше читаю, тем больше печалюсь 😕
Roman
детские прошли уже
Roman
это подростковые
Roman
года 2 назад было гораздо хуже
Andrew
4 года назад еще хуже