Docker+MobaXterm+x11实现容器UI界面转发本地

news2025/5/29 9:37:25

本文记录了搭建一个可直接ssh访问的container,并可通过x11转发界面的实现过程

0.1 实验环境
PC:windows 11

Server:Ubuntu 18.04

Docker image:Ubuntu 18.04

1. 获取Ubuntu 18.04的镜像
使用Dockerfile获取镜像,对应的文件内容如下

# Get the base Ubuntu image from Docker Hub
FROM ubuntu:18.04
# FROM continuumio/anaconda3:latest

LABEL maintainer="hello@hello.edu"
ENV DEBIAN_FRONTEND=noninteractive

# Update apps on the base image
# RUN apt-get -y update

# Packages
# RUN apt-get install -y autoconf automake autotools-dev curl libmpc-dev libmpfr-dev \
#                       libgmp-dev gawk build-essential bison flex texinfo gperf    \
#                       libtool patchutils bc libqt4-dev python-dev flex bison      \
#                       libgoogle-perftools-dev python-six libssl-dev zlib1g-dev    \
#                       zip unzip zsh tmux wget git openssh-client vim emacs        \
#                       default-jdk default-jre


# RUN echo "deb https://dl.bintray.com/sbt/debian /" | tee -a /etc/apt/sources.list.d/sbt.list &&                                  \
#    curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | apt-key add && \
#    apt-get update &&                                                                                                            \
#    apt-get install sbt
在Dockerfile的同一目录下执行如下命令即可

docker build -t Ubuntu:18.04 .
2. 使用镜像生成容器并配置端口转发
我们的需求是,可以直接通过ssh访问生成的ubuntu 18.04 container,因此需要将容器的ssh端口暴露到server的某个端口上,这样做有很多好处,最主要的是直接通过Xterm上传下载container中的文件,而不用使用docker cp命令,同时也可以支持x11转发UI界面。使用的命令如下

docker run -it --privileged=true -p 50002:22 --hostname=<host name> --name=<container name> Ubuntu:18.04 /bin/bash
这里将容器的22端口转发给server的50002端口,以后直接ssh server:50002就可以直接进这个container

Note:退出重进container的命令如下

sudo docker start  <container name>
sudo docker attach <container name>
更新美化Ubuntu的一系列操作可见我另一篇博文

3. 配置ssh
需要重新安装一下ssh,我碰到的问题是没有sshd\_config文件,使用如下命令

rm -rf /etc/ssh 
apt install ssh
然后配置ssh支持x11转发

echo "Port 22">>/etc/ssh/sshd_config 
echo "PermitRootLogin yes">>/etc/ssh/sshd_config
echo "X11Forwarding yes" >> /etc/ssh/sshd_config
重新启动ssh服务

service ssh restart
查看ssh服务状态

service ssh status
接下来设定root的密码,以便远程登陆

passwd
4. 配置界面转发
到这里为止,已经可以使用Xterm登录了,但是界面转发还是问题,需要指明转发目标,增加如下环境变量即可

export DISPLAY=:<Your PC IP Addr>:0.0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2387270.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IEEE出版|2025年智能制造、机器人与自动化国际学术会议 (IMRA2025)

【重要信息】 会议官网&#xff1a;www.icimra.com 会议时间: 2025年11月14日-16日 会议地点: 中国湛江 截稿日期&#xff1a;2025年09月16日(一轮截稿) 接收或拒收通知&#xff1a;文章投递后5-7个工作日 会议提交检索&#xff1a;EI Compendex, Scopus IEEE出版|2025年…

EasyRTC嵌入式SDK音视频实时通话助力WebRTC技术与智能硬件协同发展

一、概述 在万物互联的数字化浪潮下&#xff0c;智能硬件已广泛渗透生活与工业领域&#xff0c;实时音视频通信成为智能硬件实现高效交互的核心需求。WebRTC作为开源实时通信技术&#xff0c;为浏览器与移动应用提供免插件的音视频通信能力&#xff0c;而EasyRTC通过深度优化音…

Higress MCP Server 安全再升级:API 认证为 AI 连接保驾护航

Higress MCP Server 安全再升级&#xff1a;API 认证为 AI 连接保驾护航 Higress 作为一款强大的 AI 原生 API 网关&#xff0c;致力于铺设 AI 与现实世界之间最短、最安全、最具成本效益的连接路径。其核心能力之一便是支持将现有的 OpenAPI 规范无缝转换为 MCP Server&#…

多模态理解大模型高性能优化丨前沿多模态模型开发与应用实战第七期

一、引言 在前序课程中&#xff0c;我们系统剖析了多模态理解大模型&#xff08;Qwen2.5-VL、DeepSeek-VL2&#xff09;的架构设计。鉴于此类模型训练需消耗千卡级算力与TB级数据&#xff0c;实际应用中绝大多数的用户场景均围绕推理部署展开&#xff0c;模型推理的效率影响着…

人脸识别技术合规备案最新政策详解

《人脸识别技术应用安全管理办法》将于2025年6月1日正式实施&#xff0c;该办法从技术应用、个人信息保护、技术替代、监管体系四方面构建了人脸识别技术的治理框架&#xff0c;旨在平衡技术发展与安全风险。 一、明确技术应用的边界 公共场所使用限制&#xff1a;仅在“维护公…

AStar低代码平台-脚本调用C#方法

修改报工表表单&#xff0c;右键定义弹出菜单&#xff0c;新增一个菜单项&#xff0c;并在点击事件脚本中编写调用脚本。 编译脚本&#xff0c;然后在模块代码里面定义这个方法&#xff1a; public async Task<int> on_call_import(DataRow curRow) {PrintDataRow(cur…

企业级RAG技术实战指南:从理论到落地的全景解析

前言 在大模型技术日新月异的今天&#xff0c;检索增强生成&#xff08;RAG&#xff09;技术正成为企业突破AI应用瓶颈的关键利器。当传统AI系统还在处理结构化数据的泥潭中挣扎时&#xff0c;RAG技术已经打开了通向非结构化知识海洋的大门。这本《RAG技术实战指南》以独特的工…

【八股战神篇】RabbitMQ高频面试题

简述RabbitMQ五种模式 &#xff1f; 延伸 请介绍一下RabbitMQ的特点 延伸 简述RabbitMQ的发布与订阅模式 延伸 RabbitMQ 如何保证消息不丢失&#xff1f; 延伸 RabbitMQ 如何保证消息有序&#xff1f; 延伸 专栏简介 八股战神篇专栏是基于各平台共上千篇面经&#xf…

高阶数据结构——红黑树实现

目录 1.红黑树的概念 1.1 红黑树的规则&#xff1a; 1.2 红黑树的效率 2.红黑树的实现 2.1 红黑树的结构 2.2 红黑树的插入 2.2.1 不旋转只变色&#xff08;无论c是p的左还是右&#xff0c;p是g的左还是右&#xff0c;都是一样的变色处理方式&#xff09; 2.2.2 单旋变色…

安卓学习笔记-声明式UI

声明式UI Jetpack Compose 是 Google 推出的用于构建 Android UI 的现代化工具包。它采用 声明式编程模型&#xff08;Declarative UI&#xff09;&#xff0c;用 Kotlin 编写&#xff0c;用于替代传统的 XML View 的方式。一句话概括&#xff1a;Jetpack Compose 用 Kotlin…

AI天气预报进入“大模型时代“:如何用Transformer重构地球大气模拟?

引言:从数值预报到AI大模型的范式变革 传统的天气预报依赖于数值天气预报(NWP, Numerical Weather Prediction),通过求解大气动力学方程(如Navier-Stokes方程)进行物理模拟。然而,NWP计算成本极高,依赖超级计算机,且难以处理小尺度天气现象(如短时强降水)。 近年来…

数据结构第3章 线性表 (竟成)

目录 第 3 章 线性表 3.1 线性表的基本概念 3.1.1 线性表的定义 3.1.2 线性表的基本操作 3.1.3 线性表的分类 3.1.4 习题精编 3.2 线性表的顺序存储 3.2.1 顺序表的定义 3.2.2 顺序表基本操作的实现 1.顺序表初始化 2.顺序表求表长 3.顺序表按位查找 4.顺序表按值查找 5.顺序表…

JAVA面试复习知识点

面试中遇到的题目&#xff0c;记录复习&#xff08;持续更新&#xff09; Java基础 1.String的最大长度 https://www.cnblogs.com/wupeixuan/p/12187756.html 2.集合 Collection接口的实现&#xff1a; List接口&#xff1a;ArraryList、LinkedList、Vector Set接口&#xff1a…

项目中的流程管理之Power相关流程管理

一、低功耗设计架构规划&#xff08;Power Plan&#xff09;   低功耗设计的起点是架构级的电源策略规划&#xff0c;主要包括&#xff1a;   电源域划分   基于功能模块的活跃度划分多电压域&#xff08;Multi-VDD&#xff09;&#xff0c;非关键模块采用低电压&#xf…

SLOT:测试时样本专属语言模型优化,让大模型推理更精准!

SLOT&#xff1a;测试时样本专属语言模型优化&#xff0c;让大模型推理更精准&#xff01; 大语言模型&#xff08;LLM&#xff09;在复杂指令处理上常显不足&#xff0c;本文提出SLOT方法&#xff0c;通过轻量级测试时优化&#xff0c;让模型更贴合单个提示。实验显示&#x…

《计算机组成原理》第 10 章 - 控制单元的设计

目录 10.1 组合逻辑设计 10.1.1 组合逻辑控制单元框图 10.1.2 微操作的节拍安排 10.1.3 组合逻辑设计步骤 10.2 微程序设计 10.2.1 微程序设计思想的产生 10.2.2 微程序控制单元框图及工作原理 10.2.3 微指令的编码方式 1. 直接编码&#xff08;水平型&#xff09; 2.…

【数据结构与算法】模拟

成熟不是为了走向复杂&#xff0c;而是为了抵达天真&#xff1b;不是为了变得深沉&#xff0c;而是为了保持清醒。 前言 这是我自己刷算法题的第五篇博客总结。 上一期笔记是关于前缀和算法&#xff1a; 【数据结构与算法】前缀和-CSDN博客https://blog.csdn.net/hsy1603914691…

PyTorch入门-torchvision

torchvision torchvision 是 PyTorch 的一个重要扩展库&#xff0c;专门针对计算机视觉任务设计。它提供了丰富的预训练模型、常用数据集、图像变换工具和计算机视觉组件&#xff0c;大大简化了视觉相关深度学习项目的开发流程。 我们可以在Pytorch的官网找到torchvision的文…

18、Python字符串全解析:Unicode支持、三种创建方式与长度计算实战

适合人群&#xff1a;零基础自学者 | 编程小白快速入门 阅读时长&#xff1a;约6分钟 文章目录 一、问题&#xff1a;Python的字符串是什么&#xff1f;1、例子1&#xff1a;多语言支持演示2、例子2&#xff1a;字符串不可变性验证3、答案&#xff1a;&#xff08;1&#xff09…

5月27日复盘-Transformer介绍

5月27日复盘 二、层归一化 层归一化&#xff0c;Layer Normalization。 Layer Normalizatioh和Batch Normalization都是用来规范化中间特征分布&#xff0c;稳定和加速神经网络训练的&#xff0c;但它们在处理方式、应用场景和结构上有本质区别。 1. 核心区别 特征BatchNo…