docker - X11转发到Windows X服务器以用于AWS中的docker客户端

标签 docker amazon-ec2 x11-forwarding

我正在使用 Windows mobaxterm 作为 xserver 和 ssh 客户端。如果我在 AWS 中的 ssh 服务器(ubuntu 16.04)中输入 xclock,时钟就会出现并且没有问题。现在我在AWS中安装nvidia-docker。以下是启动 docker 容器的运行脚本:

nvidia-docker run -it \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v /tmp/.docker.xauth:/tmp/.docker.xauth \
-e XAUTHORITY=/tmp/.docker.xauth \
-net=host \
\
gcr.io/tensorflow/tensorflow:latest-gpu  /bin/bash

我遇到的错误是:

root@ip-172-31-35-73:/notebooks# xclock
MobaXterm X11 proxy: Unsupported authorisation protocol
Error: Can't open display: localhost:10.0

最佳答案

以下似乎有效。 从 mobaxterm 中的本地终端进行 ssh:

ssh -X -Y -i "C:\your_key_path\xxx.pem"root@xx.xx.xx.xx

在 aws 中,启动 docker 作为

nvidia-docker run -it \
-v /tmp/.X11-unix:/tmp/.X11-unix \ 
-v /root/.Xauthority:/root/.Xauthority \
-e XAUTHORITY=/root/.Xauthority \
--net=host \
\
gcr.io/tensorflow/tensorflow:latest-gpu  /bin/bash

结果是:enter image description here

关于docker - X11转发到Windows X服务器以用于AWS中的docker客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40884589/

相关文章:

linux - 使用 --link 容器将脚本文件从一个 docker 容器调用到另一个容器

amazon-web-services - Kubernetes - Ingress-nginx 路由错误(无法将前端连接到后端)

amazon-ec2 - 是否可以在没有停机的情况下复制一个AWS EC2实例?

ruby-on-rails - Sidekiq 日志级别未在生产中设置

django - 通过 AWS Elastic Beanstalk 成功部署 Django,但出现 500 错误

docker - 在没有 "--net host"的情况下,在通过 SSH 连接的服务器上可靠地在 Docker 容器中运行 X 应用程序

bash - 引用传递给docker入口点的第一个参数?

ssh X11 转发不起作用

linux - 是否可以在Linux服务器的终端中打开X11应用程序?

docker - 如何在 Elastic Beanstalk Docker 环境中配置 HTTP 基本身份验证?