docker容器安装图形界面

2024-08-26 00:36

本文主要是介绍docker容器安装图形界面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

拉取镜像,创建容器(其中3389端口为远程桌面所需所需,5901端口为VNC连接所需),进入容器:

docker pull ubuntu
docker run -dit --name test -p 2222:22  -p 3390:3389 -p 5901:5901 --privileged=true ubuntu
docker exec -it test /bin/bash

(在容器内)更新apt源,安装ssh服务等工具,修改root密码:

apt update
apt install openssh-server net-tools vim
passwd root

修改/etc/ssh/sshd_config 文件,添加内容

 PermitRootLogin yes

启动ssh服务:

service ssh start

此时可以用ssh工具连接该容器,其中[ip]填ip地址,若wsl则填127.0.0.1:

ssh root [ip] -p 2222

下面介绍几种本人尝试过的为容器安装图形界面的方法。

xfce4桌面+MobaXterm(推荐)

在/etc/ssh/sshd_config文件中添加

AddressFamily inet 
AllowTcpForwarding yes 
X11Forwarding yes 
X11DisplayOffset 10 
X11UseLocalhost yes

重启ssh服务(每次登陆之前必须在容器中执行)并安装软件包:

service ssh restart
apt install xorg xdm xfce4 dbus-x11

用MobaXterm连接容器,选择SSH填入ip,username,port,可以通过执行命令

xclock

如果弹出一个时钟的界面则可以验证图形界面安装成功。
再开一个SSH会话,同上填入ip,username,port,特别的Remote environment 选择 Xfce4 desktop,如下图:
在这里插入图片描述

即可得到如下的图形化界面:
在这里插入图片描述
如果右键打不开terminal,可以参考:vnc viewer远程连接xfce桌面无法打开terminal终端
该方法配置简单,且本人在两个不同镜像创建的容器都测试过都正常,故最推荐。

xfce4桌面+Windows远程连接(一般)

安装一些软件包,并将xrdp用户添加到ssl-cert用户组

apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils xrdp ufw
adduser xrdp ssl-cert

编辑/etc/xrdp/xrdp.ini文件,添加内容

exec startxfce4

启动xrdp服务,并开启3389端口

service xrdp start
ufw allow 3389

后面每次启动容器时需要执行

service xrdp restart

打开Windows的远程连接:
在这里插入图片描述

连接成功的话则显示
在这里插入图片描述
该方法配置简单且不需要借助其他软件连接工具,但是本人在两个不同镜像创建的容器测试时有一个无法正常连接,故一般推荐。

gnome桌面+VNC(不推荐)

在/etc/apt/sources.list文件中添加VNC的源:

echo deb http://archive.ubuntu.com/ubuntu/ bionic universe

执行命令:

apt update

若报错The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 3B4FE6ACC0B21F32,则执行:

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys  3B4FE6ACC0B21F32

继续报错E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation,执行:

apt install gnupg

安装一些软件包,并启动vncserver:

apt install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal ubuntu-desktop vnc4server
vncserver

编辑 ~/.vnc/xstartup文件,将内容修改为:

#!/bin/sh# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey 
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &

编辑/root/.bashrc文件,在末尾添加内容:

rm -rf /tmp/.X1-lock
rm -rf /tmp/.X11-unix/X1

再执行命令,重启vncserver :

vncserver -kill :1
vncserver -geometry 1920x1080 :1

此时打开VNC客户端:
在这里插入图片描述
若正常连接,则显示:
在这里插入图片描述
该方法配置较复杂容易出现各种报错,而且本人尝试了两个不同镜像创建的容器测试时均遇到问题,一个无法连接,另一个连接上了但存在无法显示标题栏以及打不开终端等问题,故不推荐。

参考:
使用Docker Desktop在windows安装ubuntu系统实现FinalShell远程登录,方便本地学习。
Docker容器显示图形到宿主机屏幕
为docker安装图形界面和配置远程桌面连接
docker创建Ubuntu,Ubuntu创建桌面环境,本机使用VNC连接

这篇关于docker容器安装图形界面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1107050

相关文章

Win安装MySQL8全过程

《Win安装MySQL8全过程》:本文主要介绍Win安装MySQL8全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Win安装mysql81、下载MySQL2、解压文件3、新建文件夹data,用于保存数据库数据文件4、在mysql根目录下新建文件my.ini

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

如何在pycharm安装torch包

《如何在pycharm安装torch包》:本文主要介绍如何在pycharm安装torch包方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录在pycharm安装torch包适http://www.chinasem.cn配于我电脑的指令为适用的torch包为总结在p

在PyCharm中安装PyTorch、torchvision和OpenCV详解

《在PyCharm中安装PyTorch、torchvision和OpenCV详解》:本文主要介绍在PyCharm中安装PyTorch、torchvision和OpenCV方式,具有很好的参考价值,... 目录PyCharm安装PyTorch、torchvision和OpenCV安装python安装PyTor

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

如何高效移除C++关联容器中的元素

《如何高效移除C++关联容器中的元素》关联容器和顺序容器有着很大不同,关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的,本文介绍了如何高效移除C+... 目录一、简介二、移除给定位置的元素三、移除与特定键值等价的元素四、移除满足特android定条件的元

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.