kSandr
но файлы частенько модифицируются, это или каждый раз пересобирать контейнер с новыми изменениями или лезть в старый и вручуную изменять?)
это зависит от того что-ты вообще хочешь делать, если ты просто на локалхосте что-то пилишь, просто пробрось долбанную папку и выдай ей права ... или запускай все от рута , можешь поставить директиву user: root если это какой-то проект на проде и т.п. то руками туда лазить не нужно ..../ если ты хочешь поменять в волуме руками , то стало-быть идешь в папку /var/lib/docker/volumes/<volume_name>/_data и пихаешь туда что хочешь
kSandr
по хорошему если тебе нужно обновить код, то ты просто пересобираешь новый контейнер и выкатываешь его на прод
dev
Приветствую При запуске build, такая ошибка: w@w1:~/docker/wa1$ time docker build -t wa1 . Step 5/10 : RUN apt-get -qqy update && apt-get -qqy --no-install-recommends install -y python3 python3-pip ffmpeg wget unzip ---> Running in ccec61ad817b AppArmor enabled on system but the docker-default profile could not be loaded: running `/sbin/apparmor_parser apparmor_parser -Kr /home/docker/tmp/docker-default061573499` failed with output: AppArmor parser error for /home/docker/tmp/docker-default061573499 in /etc/apparmor.d/tunables/global at line 15: Could not open 'tunables/home' аппармор при этом выключен: w@w1:~/docker/wa1$ sudo systemctl status apparmor ● apparmor.service Loaded: masked (/dev/null; bad) Active: inactive (dead) как это можно исправить?
George
Понимаешь разницу между отключен и не запущен ?
George
Тебе либо надо как-то докеровский профиль доустановить
George
Либо аппармор окончательно выпилить
George
Может, в настройках докер демона пошаманить. Фиг знает.
George
Докер как устанавливал ? Убунту 18 ?
Monch
Здравствуйте! Устанавливаю appdaemon, вот так: docker run --name=appdaemon -d -p 5050:5050 \ --restart=always \ -e cert_verify="Flase"\ -e dash_url="http://192.168.XX.XX:5050"\ -e HA_URL="http://192.168.xx.xx:8123" \ -e TOKEN="<ваш TOKEN который получили в HA>" \ -v /home/docker/appdaemon:/conf \ acockburn/appdaemon:latestчто здесь нужно дописать, чтобы appdaemon использовало не UTC, а local time ("Europe/Moscow")?
dev
Понимаешь разницу между отключен и не запущен ?
честно говоря, не особо) если что-то не запущено, как оно может влиять? ;) sudo apt-get remove apparmor помогло
dev
"оно", это демон докера? то есть он не смотрит запущен аппармор или нет, а просто на установлен/нет?
George
ну, а ты как думаешь?
George
ты внес какие-то изменения в систему (=ручками отключил аппармор), а остальным компонентам об этом не сообщил (=не настроил докер на то, что аппармора нет)
George
а потом удивляешься, что оно не работает
George
🤷‍♂️
dev
ну почему же не сообщил? я отключал через systemctl
dev
ну это не суть уже) другой вопрос - вот срочки из докерфайла RUN useradd -ms /bin/bash wa USER wa WORKDIR /home/wa COPY fs/wa/ /home/wa/ почему после создания докера у файлов в /home/wa владелец root? и как это правильнее починить
dev
сделал втупую вот так не уверен, что это идеологически правильно, но должно сработать RUN chown -R wa:wa /home/wa
Alexey
всем привет. У меня ситуация, когда я сделал маунт каталога в контейнер и когда приложение создает какой-то файл, то он с создается под овнером рут. Контейнер запущен из под обычного юзера. Как я понимаю, мне нужно при создании образа в докерфайл указать директиву user. Вопрос - как это правильно сделать? Пользователь юзер уже есть на хосте, как его слинковать с этой директивой? UID передать user uid:gid?
George
все сложно и зависит от образа
Alexey
образ - голый рантайм дотнета + запакованый туда код
George
https://habr.com/ru/post/465193/#comment_20562785
George
вот сюда смотрите. Вообще если нет никаких файлов внутри образа, кроме исполняемых, то достаточно передать флаг docker run --user
George
типа
George
docker run --user $(id -u)
Alexey
а в dockerfile директива user тогда не нужна будет?
Alexey
кстати, в образе там еще и статика всякая, не только исполняемые. Я сделал publish приложения и результат закинул в образ
George
но могут быть нюансы
Alexey
спасибо большое. А там ребята пишут, что можно создавать юзера в контейнере с id юзера из хоста. в таком случае тоже проблем не будет?
George
если у тебя все остальное написано переносимо )
Alexey
а чтобы на старте контейнера создать пользователя, мне нужно в образ закинуть скрипт, потом аргументом передавать ID при создании контейнера? Если да, то мне нужно два entrypoint использовать?
George
просто работать под айди.. Проблема в том, что некоторые утилиты и библиотеки требуют, чтобы была запись в /etc/passwd файле
George
т.е. юзера лучше создать
George
да, скрипт в энтрипойнт
George
> Если да, то мне нужно два entrypoint использовать? энтрипойнт может быть только оидн
George
но в нем можно сделать хитрую штуку типа exec $@
George
которая выполнит то что будет справа аргументами от энтрипойнта (т.е. это не портит использование command)
Alexey
Немного не понял, как это выглядить должно в dockerfile
Alexey
у меня entrypoint требует аргументов, т.к. я запускаю donet потом аргумент откуда брать исполняемый файл. В таком случае, куда вставить exec $@?
George
https://github.com/puckel/docker-airflow/blob/master/script/entrypoint.sh#L95
George
типа так
Alexey
@gecube спасибо!
RE
камрады, а есть ли возможность при docker stack deploy запустить сервис, который должен выполнится только один раз и выйти без перезагрузки? а то он рестартует постоянно, чего не хочется, чтобы происходило..
Max xbim 🌴
Если параметры сервиса не меняются то stack deploy не вызывает перегрузку
𝑰𝒍𝒉𝒐𝒎
Еще раз привет. Я начинающий пользователь docker. Хотел спросить, какой самый лучшый вариант для selenium + mocha ? Как конечный пользователь сможет запускать тесты?
𝑰𝒍𝒉𝒐𝒎
+ норм
Эм...
Oleksandr
при docker-compose up показывается debug инфа. как её убрать? *никаких параметров не добавляю
Kana
Правда режим detached будет
rmshell
Привет! Кто подскажет, как достучатся до постгреса на хосте из контейнера?
rmshell
через сокет ?
-v ../pg.sock:/pg.sock ?
kSandr
ага, тип того
kSandr
либо по внутреннему айпишнику докера который типа 172.17... можно, либо по внешнему, .... ну и на крайний случай —net host контейнеру
George
по бриджованному адресу
NM
+ route на других машинках не забудь
rmshell
либо по внутреннему айпишнику докера который типа 172.17... можно, либо по внешнему, .... ну и на крайний случай —net host контейнеру
если хост 127.0.0.1, а контейнер 172.*.*.*, то в конифге сервиса address что я доджен указвать? оО не пойму, или если создана сеть "мост" то из контейнера видно ip хоста как 192.*.*.* и его указывать в address?
kSandr
если хост 127.0.0.1, а контейнер 172.*.*.*, то в конифге сервиса address что я доджен указвать? оО не пойму, или если создана сеть "мост" то из контейнера видно ip хоста как 192.*.*.* и его указывать в address?
ну у тебя докер создает бриджовую сеть в которой крутятся контейнеры, вот на гейтвей сей сети и нужно обращаться , если у тебя контейнер с адресом например 172.17.0.25 то хост скорее всего будет по адресу 172.17.0.1
𝑰𝒍𝒉𝒐𝒎
Привет. Запустил первый контейнер с selenium - открываю порт 4444 с хоста, все ок Запустил второй контейнер с mocha. api тесты работают, а вот при браузерных тестах mocha не видит 127.0.0.1:4444 Как решить эту проблему? куда копать?
George
и в одну вирт сеть их объединить, если можно и ходить по имени контейнера - selenium:4444
George
127.0.0.1:4444 не работает и не должен
Anonymous
Всем привет) Возможно у меня очень тупой и частый вопроc… Но все же, как мне локально обратиться к базе (pgSql), если собирал через docker-compose up ?)