Если я единственный пользователь на своем компьютере и запускаю Docker, я обычно запускаю его от имени пользователя root. Однако я не понимаю, как его следует использовать в многопользовательской среде. Если я запускаю серверное приложение, доступ к которому обычно осуществляется через сетевой сервер, я просто подключаюсь к нему, и оно работает нормально, поскольку все на сервере работает от имени одного пользователя. Но существуют образы докеров для многих клиентских приложений, которые обычно имеют интерактивный интерфейс (Matlab, Python и т. д.). Как их можно использовать без значительных модификаций? Я приведу пример. Matlab предоставляет предварительно созданное изображение. Как предполагается его использовать? Вот мой опыт на воспроизводимом примере. Я использую Ubuntu 24.04. Я вытаскиваю его (docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro --shm-size=512M mathworks/matlab:r2024b) и попробуйте запустить его по инструкциям, но сразу же столкнетесь с очень распространенной проблемой:
Я не могу открыть графический интерфейс через ssh, потому что у него нет доступа к мой файл .Xauthority.
Я мог бы использовать -v, чтобы предоставить контейнеру доступ к нему, но поскольку имя пользователя контейнера (matlab) не соответствует моему пользователю на хосте, он не может прочитать файл< /li>
хорошо, я воспользуюсь --user, чтобы установить пользователя/группу моего хоста. Теперь Matlab не работает должным образом, потому что контейнер не знает моего UID/GID, и я не могу получить доступ к /home/matlab, где находятся некоторые важные файлы Matlab. Моя домашняя папка тоже не существует.
Я могу зайти в контейнер и открыть разрешения для /home/matlab и либо смонтировать, либо создать для себя домашнюю папку.
Matlab (и многие другие приложения) бесполезны, если у вас нет возможности открыть существующие файлы или сохранить свою работу. Поэтому я использую -v, чтобы предоставить доступ к моим папкам с данными (некоторые из них являются общими, поэтому файлы принадлежат другим пользователям и другим группам, членом которых я являюсь. Но у контейнера возникают проблемы с доступом к некоторым файлам, поскольку многие GID неизвестны Теперь мне нужно либо добавить/синхронизировать необходимые GID в /etc/group контейнера, чтобы он знал, в каких группах я состою, либо изменить владельца/разрешения на существующие файлы, либо вручную переместить файлы и вручную. из контейнера, но это может оказаться очень утомительным и чревато ошибками.
Я сталкиваюсь с подобными проблемами со многими контейнерами, которые пытаюсь использовать My. Другой вариант использования - если я занимаюсь разработкой программного обеспечения, для которого требуется определенный набор программного обеспечения, библиотек и т. д., которые могут конфликтовать с версиями операционной системы хоста, но я сталкиваюсь с теми же проблемами, если проект используется несколькими людьми, предполагая Dockerfile. доступны, я обычно пытаюсь их пересобрать или мне приходится вносить много изменений. Итак, вернемся к моему первоначальному вопросу. Вот как люди обычно используют готовые образы докеров? В противном случае, как они решают проблемы, с которыми я сталкиваюсь? Я сомневаюсь, что люди используют сложные приложения без необходимости открывать/сохранять какие-либо файлы вне контейнера. Или все просто всегда запускают все как root и никогда не имеют более одного пользователя? Или я использую докер «неправильно» и не с той целью? Предназначены ли все эти изображения приложений для использования одним человеком? Я мог бы настроить виртуальные машины, но они потребляют гораздо больше ресурсов, хотя иногда различий всего лишь несколько.
Если я единственный пользователь на своем компьютере и запускаю Docker, я обычно запускаю его от имени пользователя root. Однако я не понимаю, как его следует использовать в многопользовательской среде. Если я запускаю серверное приложение, доступ к которому обычно осуществляется через сетевой сервер, я просто подключаюсь к нему, и оно работает нормально, поскольку все на сервере работает от имени одного пользователя. Но существуют образы докеров для многих клиентских приложений, которые обычно имеют интерактивный интерфейс (Matlab, Python и т. д.). Как их можно использовать без значительных модификаций? Я приведу пример. Matlab предоставляет предварительно созданное изображение. Как предполагается его использовать? Вот мой опыт на воспроизводимом примере. Я использую Ubuntu 24.04. Я вытаскиваю его (docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro --shm-size=512M mathworks/matlab:r2024b) и попробуйте запустить его по инструкциям, но сразу же столкнетесь с очень распространенной проблемой: [list] [*]Я не могу открыть графический интерфейс через ssh, потому что у него нет доступа к мой файл .Xauthority. [*]Я мог бы использовать -v, чтобы предоставить контейнеру доступ к нему, но поскольку имя пользователя контейнера (matlab) не соответствует моему пользователю на хосте, он не может прочитать файл< /li> хорошо, я воспользуюсь --user, чтобы установить пользователя/группу моего хоста. Теперь Matlab не работает должным образом, потому что контейнер не знает моего UID/GID, и я не могу получить доступ к /home/matlab, где находятся некоторые важные файлы Matlab. Моя домашняя папка тоже не существует. [*]Я могу зайти в контейнер и открыть разрешения для /home/matlab и либо смонтировать, либо создать для себя домашнюю папку. [*]Matlab (и многие другие приложения) бесполезны, если у вас нет возможности открыть существующие файлы или сохранить свою работу. Поэтому я использую -v, чтобы предоставить доступ к моим папкам с данными (некоторые из них являются общими, поэтому файлы принадлежат другим пользователям и другим группам, членом которых я являюсь. Но у контейнера возникают проблемы с доступом к некоторым файлам, поскольку многие GID неизвестны Теперь мне нужно либо добавить/синхронизировать необходимые GID в /etc/group контейнера, чтобы он знал, в каких группах я состою, либо изменить владельца/разрешения на существующие файлы, либо вручную переместить файлы и вручную. из контейнера, но это может оказаться очень утомительным и чревато ошибками. [/list] Я сталкиваюсь с подобными проблемами со многими контейнерами, которые пытаюсь использовать My. Другой вариант использования - если я занимаюсь разработкой программного обеспечения, для которого требуется определенный набор программного обеспечения, библиотек и т. д., которые могут конфликтовать с версиями операционной системы хоста, но я сталкиваюсь с теми же проблемами, если проект используется несколькими людьми, предполагая Dockerfile. доступны, я обычно пытаюсь их пересобрать или мне приходится вносить много изменений. Итак, вернемся к моему первоначальному вопросу. Вот как люди обычно используют готовые образы докеров? В противном случае, как они решают проблемы, с которыми я сталкиваюсь? Я сомневаюсь, что люди используют сложные приложения без необходимости открывать/сохранять какие-либо файлы вне контейнера. Или все просто всегда запускают все как root и никогда не имеют более одного пользователя? Или я использую докер «неправильно» и не с той целью? Предназначены ли все эти изображения приложений для использования одним человеком? Я мог бы настроить виртуальные машины, но они потребляют гораздо больше ресурсов, хотя иногда различий всего лишь несколько.
Я пытаюсь получить Canvas для рендеринга масштабированных изображений с той же визуальной точностью, что и CSS. 43.0.2357.130), это не является Lanczos3, хотя мои тесты с Resamplescope указывают на то, что это должно быть.
Я новичок в разработке приложений и загрузил несколько экземпляров приложения для закрытого тестирования в консоли Google Play. Первые отзывы от Google прошли довольно быстро и были одобрены, но прошло уже более 4 часов с тех пор, как я загрузил...
только что создал пользовательский трек в закрытом тестировании в Google Play Console. Первое представление приложения заняло 2 дня, что было довольно быстро, учитывая потенциальные задержки, упомянутые на домашней странице. Однако я обнаружил, что...