Надеюсь, я делаю это правильно ...
Сначала мы используем docker -compose с файлом yml. Выглядит примерно так:
sudo docker-compose -f docker-compose.yml up -d
В файле yml есть что-то похожее на:
version: '3.4'
services:
MyContainer:
image: "MyContainer:latest"
container_name: MyContainer
restart: always
environment:
- DISPLAY=unix$DISPLAY
- QT_X11_NO_MITSHM=1
devices:
- /dev/dri:/dev/dri
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix:rw
- /dev/dri:/dev/dri
- /usr/lib/x86_64-linux-gnu/libXv.so.1:/usr/lib/x86_64-linux-gnu/libXv.so.1:rw
- ~/MyFiles/:/root/Myfiles
- ~:/root/home
Теперь проблема начинается. У нас есть две операционные системы, используемые командой. Один раз Ubuntu, а затем Арч и Манджаро. Как опытный Linux Пользователь может знать, что это не будет работать на Arch. Потому что x86_64- linux -gnu - это папка в Ubuntu. Это очень конкретная папка c в системах Debian / Ubuntu. Эквивалентом для Arch / Manjaro и почти для всех остальных Linux Distro является / usr / lib или / usr / lib64.
Конечно, взломать эту папку для связывания с lib, но я не хочу делать это для каждого нового члена команды / машины без Ubuntu.
Так что это всю предварительную информацию, чтобы дать. Мой вопрос:
Какой, по вашему мнению, наилучший подход к решению этой проблемы?
У меня был поиск в Google, но я использовал не те ключевые слова или у людей нет такой проблемы, потому что они проектируют свои контейнеры умнее.
Я знаю, что есть docker тома, которые можно создать и затем использовать в файле docker comppose, но для этого мы потребуется перезапустить настройку на всех наших P C, ноутбуках и серверах, и, если возможно, избежать этого ...
Мне нужно многому научиться, так что если у вас будет больше опыта и Знания, будь так добр и объясни мне мои ошибки.
С уважением, Стефан