docker创建Ubuntu,Ubuntu创建桌面环境,本机使用VNC连接

该文介绍了如何通过Docker创建一个基于Ubuntu20.04的容器,并在容器内安装桌面环境,然后使用VNC服务从本机进行连接。过程中提到了SSH连接容器、安装必要的软件如openssh-server、gnome、vnc4server等,以及解决端口占用和配置VNC启动设置的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:docker创建Ubuntu,Ubuntu创建桌面环境,本机使用VNC连接

前言

为什么我想要用ubuntu的桌面环境?因为我有一些软件开发需要显示GUI,就这么简单。

docker创建基于Ubuntu:20.04的容器

参考:给docker中的ubuntu系统安装桌面程序:我们可以创建好容器。

🎈打开powershell或者linux终端,输入以下命令创建容器

🔻warning:千万不要用主机的10000端口,改为3316,掉坑了

 docker run -tid -p 3316:22 -p 5900:5900 -p 5901:5901 --name displaytest_container --privileged=true ubuntu:20.04 /bin/bash

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yqEsPpWr-1686979724704)(images/img.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U7kLSqNV-1686979724706)(images/img_1.png)]

🎈从docker for windows软件中,可看到容器正在运行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EhufJdLX-1686979724706)(images/img_2.png)]

使用ssh连接容器

🎈在终端输入以下命令,进入容器控制台

docker exec -it displaytest_container /bin/bash

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pG6GIM56-1686979724706)(images/img_3.png)]

🎈安装配置ssh的必要工具

apt update

apt install vim
apt install openssh-client
apt install openssh-server
apt install net-tools

🎈编辑sshd_config文件

vim /etc/ssh/sshd_config

🎈添加PermitRootLogin yes

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oQMt6bDt-1686979724707)(images/img_7.png)]

🎈给root设置密码

passwd root

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SHhZxAGp-1686979724707)(images/img_5.png)]

🎈启动ssh

service ssh start
ps -e|grep ssh

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f5nidkVm-1686979724707)(images/img_6.png)]

🎈设置容器启动就开启ssh

vim /root/.bashrc
# 在.bashrc末尾添加如下代码
service ssh start

🎈用自己喜欢的ssh工具连接,这里我用electerm

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5F82CUmf-1686979724708)(images/img_8.png)]

容器安装桌面环境

🎈在electerm终端输入以下命令,安装ubuntu桌面

apt-get update
apt install -y gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal ubuntu-desktop

🎈添加vnc4server的安装源

vim /etc/apt/sources.list

添加

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EmzrUF9w-1686979724708)(images/img_9.png)]

更新源

apt update

🎈安装vncserver

apt install vnc4server

🎈先启动以下vncserver生成一些文件

vncserver

初次启动需要设置密码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qv01aBXe-1686979724708)(images/img_10.png)]

🎈备份启动设置

cp ~/.vnc/xstartup ~/.vnc/xstartup.bak

🎈编辑vnc启动设置

vim ~/.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 &

🎈重新启动vnc

vncserver -kill :1

vncserver -geometry 1920x1080 :1

🎈如果是重新启动容器后再启动vnc

第一次需要进行以下设置

vim /root/.bashrc
# 在.bashrc末尾添加如下代码
rm -rf /tmp/.X1-lock
rm -rf /tmp/.X11-unix/X1

每次启动容器后,都需要执行以下命令来启动桌面(不可以用自动运行,否则终端无法运行)

vncserver -geometry 1920x1080 :1

本机电脑使用VNC连接

下载vnc客户端并安装

🎈连接,可见已经连上了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ptNe35TA-1686979724709)(images/1.gif)]

测试用python来创建的ui能否显示

🎈启动终端

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2ClRn7R2-1686979724709)(images/gif_2.gif)]

🎈安装python3-pip

apt install python3-pip

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LXhHcT12-1686979724709)(images/gif_3.gif)]

🎈安装matplotlib

pip3 install matplotlib

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UnTItDSL-1686979724710)(images/gif_4.gif)]

🎈启动python3,输入以下代码

import matplotlib.pyplot as plt
import numpy as np

mat = np.arange(0, 100).reshape(10, 10)
plt.matshow(mat)
plt.show()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ng21RREI-1686979724710)(images/gif_5.gif)]

参考

Docker是一个开源项目,用于实现应用程序的自动化部署、可移植性和可重复性。基于这一理念,有许多人和组织创建了各种各样的Docker镜像,包括了各种操作系统和软件环境。在这些镜像中,也有一些Ubuntu桌面镜像,可以用于创建一个带有桌面环境Ubuntu容器。 这些Docker Ubuntu桌面镜像大全包括了各种不同版本的Ubuntu操作系统,如Ubuntu 16.04、Ubuntu 18.04等。通过使用这些镜像,用户可以方便地在自己的电脑上运行Ubuntu桌面环境,而无需真正安装Ubuntu操作系统。 这些镜像通常包含了完整的Ubuntu桌面环境,包括常见的应用程序和工具,如文件管理器、终端、浏览器等。用户可以使用命令行或者通过图形界面来管理和操作这些容器。 使用Docker Ubuntu桌面镜像的好处是可以实现快速部署和移植。用户可以将包含自己工作环境的容器镜像导出,然后在其他地方导入并运行,而不需要重新配置和安装各种软件。这对于开发者、测试人员和系统管理员来说是非常有用的。 当然,使用Docker Ubuntu桌面镜像也有一些限制。首先,它们可能比较占用系统资源,因为每个容器都是一个独立的虚拟环境。此外,由于涉及图形界面的应用程序,在容器中运行的性能可能会受到一些制约。 总之,Docker Ubuntu桌面镜像大全提供了一个便捷的方式来快速创建和部署带有Ubuntu桌面环境的容器。无论是在开发、测试还是日常办公中,这些镜像都能帮助用户提高效率,同时保持环境的稳定性和可重复性。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

维度攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值