【发布时间】:2020-02-12 11:09:05
【问题描述】:
希望我做得对...
首先,我们将 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,然后是 Arch 和 Manjaro。一个有经验的 Linux 用户可能知道这在 Arch 上是行不通的。因为 x86_64-linux-gnu 是 Ubuntu 中的一个文件夹。这是 Debian/Ubuntu 系统上的一个非常特殊的文件夹。 Arch/Manjaro 和几乎所有其他 Linux 发行版上的等价物是 /usr/lib 或 /usr/lib64。
当然,一个技巧是让这个文件夹链接到 lib,但我不想对没有 Ubuntu 的每个新团队成员/机器都这样做。
所以这些都是要提供的前期信息。 我的问题是:
您认为解决此问题的最佳方法是什么?
我在 Google 上搜索过,但要么我使用了错误的关键字,要么人们没有这个问题,因为他们设计的容器更智能。
我知道可以创建 docker 卷,然后在 docker-compose 文件中使用,但为此,我们需要在我们拥有的所有 PC、笔记本电脑和服务器上重新运行设置,如果想避免这种情况可能...
我还有很多东西要学,所以如果你有更多的经验和知识,请善待并解释我的错误。
问候, 斯蒂芬
【问题讨论】:
标签: linux docker docker-compose