gpt4 book ai didi

docker - 如何将 docker X windows 隧道连接到远程主机?

转载 作者:行者123 更新时间:2023-12-02 04:22:43 24 4
gpt4 key购买 nike

当我在工作时,使用Ubuntu 14.04(IP:a.b.c.d)并且我想在docker容器中执行程序(例如firefox)并获取图形输出,我在docker容器中启动一个shell并在此shell中我执行:

DISPLAY=a.b.c.d:0 火狐

另一方面,当我在家并且需要在工作电脑中运行程序并使用私有(private) IP 地址(NATed)在家庭电脑中获取输出时,我连接:

$ ssh -X work-pc

然后我在该 shell 中运行程序并在本地获取输出。

有没有办法通过“ssh -X”隧道将 docker 容器的输出重定向到 home?

我知道我可以在容器中安装 ssh 服务器,将工作电脑中的端口重定向到容器的端口 22,将家庭电脑本地端口重定向到该工作电脑端口(使用 ssh -L 端口: host:port work-pc) 并使用“ssh -X”从 home-pc 连接到容器以在家里获取输出,但我想知道是否还有其他方法。

谢谢。

最佳答案

我按照 https://dzone.com/articles/docker-x11-client-via-ssh 上的说明进行操作.

我的 docker-compose 有:

version: "3.7"
services:
rhel:
privileged: true
build:
context: /home/mpawlowsky/docker
dockerfile: Dockerfile
volumes:
- /tmp/.x11-unix:/tmp/.x11-unix
- /home/mpawlowsky/.Xauthority:/root/.Xauthority:rw
cap_add:
- NET_ADMIN
- NET_RAW
environment:
- DISPLAY
network_mode: host

我启动容器并在其中运行:

$ docker-compose up -d
$ docker exec -it rhel /bin/bash
$ firefox

关于docker - 如何将 docker X windows 隧道连接到远程主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27626679/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com