【多系统解决方案】赶紧丢掉虚拟机吧,Docker + VNC 让你更加轻松拥有多系统

简介: 【多系统解决方案】赶紧丢掉虚拟机吧,Docker + VNC 让你更加轻松拥有多系统
  • 大家好,我是同学小张,日常分享AI知识和实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏

本站文章一览:

一般我们在开发过程中,都会遇到系统切换的问题,比如平时办公回复邮件或聊天使用Windows或Mac,但实际开发程序时,还是使用Ubuntu比较方便。而且,由于Ubuntu版本众多,有时候各个项目使用的系统版本不一致,例如有的用 Ubuntu18,有的用Ubuntu20。系统的不一致导致开发代码在迁移的时候会出现不少问题。

针对以上问题,有人会选择在电脑主系统上装一个虚拟机,在虚拟机上运行其它系统,例如Windows系统中虚拟机上跑Ubuntu。但是虚拟机比较重,而且也需要你去安装系统等操作,稍微有那么一点麻烦。还会导致系统卡顿。

今天介绍另一种多系统方案:Docker + VNC的方式,主机上起一个Docker,通过浏览器打开VNC链接Docker,非常方便。

效果如下:

安装步骤

我的主机环境是Ubuntu18.04

1. 安装 Docker

顺序执行以下命令:

sudo apt update #更新软件源列表
sudo apt install apt-transport-https ca-certificates curl software-properties-common #安装软件包的依赖
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - #在系统中添加Docker的官方密钥
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" #添加Docker源,选择stable长期稳定版
sudo apt update #再次更新源列表
sudo apt install docker-ce #开始安装Docker
docker -v # 查看是否安装成功
sudo systemctl start docker # 启动docker服务
sudo systemctl enable docker # 设置开机自启动docker
sudo systemctl status docker # 查看Docker是否开启

下图状态说明启动成功:

2. 安装容器系统镜像

使用的镜像地址:https://github.com/fcwu/docker-ubuntu-vnc-desktop?tab=readme-ov-file#quick-start

(1)选择自己想安装的镜像(打开上面的链接,可以看到不同Ubuntu版本的tags):

例如我想在Docker里安装的Ubuntu20,所以我使用以下命令:

docker pull dorowu/ubuntu-desktop-lxde-vnc:latest

latest对应的版本是20.04。

就这一条命令就相当于原来虚拟机中的安装完系统了… 是不是很随意?

(2)然后启动该镜像:

sudo docker run -d -p 6080:80 -v /dev/shm1:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
  • -p参数表示要使用的端口号
  • -v参数重点了解下:这是让你的宿主机和容器之间共享文件用的。例如上面的命令,就表示宿主机中的/dev/shm1和容器中的/dev/shm共享内容。也就是说,你在宿主机上将文件拖放到 /dev/shm1中,在容器的/dev/shm文件夹下就能立刻看到该文件。
  • -d参数让docker可以在后台运行,否则你一直得开着运行这个docker的命令行窗口

(3)打开浏览器,输入地址:localhost:6080,然后就看到了文章开头的那个效果。

(4)然后就可以在里面进行操作了,相当于一个完整的Ubuntu20

3. Docker常用操作

既然用到Docker了,这里就记录几个Docker常用的命令:

sudo docker ps #查看运行的docker
sudo docker stop <docker id> #停止docker
sudo docker exec -it <docker id> /bin/bash #从宿主机命令行界面进入docker的控制台

4. 缺点

目前使用过程中体验不好的地方有:

  • 无法与宿主机之间进行文字的复制粘贴,例如在宿主机上复制一段文字,无法粘贴到容器中
  • 共享文件夹方面,只要是容器内创建的文件或文件夹,都会将宿主机的该文件或文件夹设置为root权限,只有sudo才能操作

如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~


  • 大家好,我是 同学小张,日常分享AI知识和实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏

本站文章一览:

相关文章
|
25天前
|
负载均衡 网络协议 算法
Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式
本文探讨了Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式,以及软件负载均衡器、云服务负载均衡、容器编排工具等实现手段,强调两者结合的重要性及面临挑战的应对措施。
58 3
|
1月前
|
存储 Linux Docker
centos系统清理docker日志文件
通过以上方法,可以有效清理和管理CentOS系统中的Docker日志文件,防止日志文件占用过多磁盘空间。选择合适的方法取决于具体的应用场景和需求,可以结合手动清理、logrotate和调整日志驱动等多种方式,确保系统的高效运行。
95 2
|
2月前
|
人工智能 数据安全/隐私保护 虚拟化
Docker部署MaxKB详细步骤(window系统)
这篇文章详细介绍了如何在Windows系统上使用Docker部署MaxKB,并提供了从安装Docker到运行MaxKB容器的详细步骤,以及如何通过浏览器访问和配置MaxKB来使用ollama和llama3模型进行问答。
641 1
Docker部署MaxKB详细步骤(window系统)
|
2月前
|
网络协议 Docker 容器
docker pull命令拉取镜像失败的解决方案
docker pull命令拉取镜像失败的解决方案
1460 1
|
2月前
|
网络安全 虚拟化 Docker
SSH后判断当前服务器是云主机、物理机、虚拟机、docker环境
结合上述方法,您可以对当前环境进行较为准确的判断。重要的是理解每种环境的特征,并通过系统的响应进行综合分析。如果在Docker容器内,通常会有明显的环境标志和受限的资源视图;而在云主机或虚拟机上,虽然它们也可能是虚拟化的,但通常提供更接近物理机的体验,且可通过硬件标识来识别虚拟化平台。物理机则直接反映硬件真实信息,较少有虚拟化痕迹。通过这些线索,您应该能够定位到您所处的环境类型。
66 2
|
3月前
|
人工智能 API 数据库
FastGPT一站式解决方案[1-部署篇]:轻松实现RAG-智能问答系统(含sealos云端部署、docker部署、OneAPI&Xinference模型接入)
【9月更文挑战第5天】 FastGPT一站式解决方案[1-部署篇]:轻松实现RAG-智能问答系统(含sealos云端部署、docker部署、OneAPI&Xinference模型接入)
 FastGPT一站式解决方案[1-部署篇]:轻松实现RAG-智能问答系统(含sealos云端部署、docker部署、OneAPI&Xinference模型接入)
|
2月前
|
存储 Linux 开发者
虚拟机centos7.9一键部署docker
本文介绍了如何在 CentOS 7.9 虚拟机上安装 Docker 社区版 (Docker-ce-20.10.20)。通过使用阿里云镜像源,利用 `wget` 下载并配置 Docker-ce 的 YUM 仓库文件,然后通过 `yum` 命令完成安装。安装后,通过 `systemctl` 设置 Docker 开机自启并启动 Docker 服务。最后,使用 `docker version` 验证安装成功,并展示了客户端与服务器的版本信息。文中还提供了列出所有可用 Docker-ce 版本的命令。
249 0
虚拟机centos7.9一键部署docker
|
2月前
|
Ubuntu jenkins 持续交付
Ubuntu系统 用docker安装jenkins
Ubuntu系统 用docker安装jenkins
|
3月前
|
虚拟化
虚拟机系统Win7与主机之间不能实现拖放的问题及解决方法
虚拟机系统Win7与主机之间不能实现拖放的问题及解决方法
73 0
|
4月前
|
测试技术 持续交付 云计算
Docker 相对于虚拟机的优势
【8月更文挑战第27天】
202 5