我试图运行X应用程序在一个码头容器和显示图形用户界面。
我使用了Docker,但是当使用docker run从命令行运行相同的容器时,它会失败。
我创建了一个最小的示例,试图演示正在发生的事情:
Dockerfile:
FROM ubuntu:latest
RUN apt-get update && apt-get install -y x11-apps
RUN useradd -ms /bin/bash xvis
USER xvis
WORKDIR /home/xvisdocker-compose.yml:
version: "3"
services:
xeyes-test:
build: .
command: xeyes
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix
environment:
DISPLAY: unix:0docker-compose up --build像预期的那样打开xeyes。
docker build -t xeyes-docker-test .
docker run --rm -e DISPLAY:unix:0 -v /tmp/.X11-unix:/tmp/.X11-unix xeyes-docker-test xeyes
给出错误:Error: Can't open display:
发布于 2020-06-22 17:42:51
停靠程序运行命令应该是-e DISPLAY=unix:0 (=而不是:)。
如果这不能解决这个问题,请参见:https://github.com/jessfraz/dockerfiles/issues/329
https://stackoverflow.com/questions/62519579
复制相似问题