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

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

本站文章一览:

在这里插入图片描述


一般我们在开发过程中,都会遇到系统切换的问题,比如平时办公回复邮件或聊天使用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知识和实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • +v: jasper_8017 一起交流💬,一起进步💪。
  • 微信公众号也可搜同学小张 🙏

本站文章一览:

在这里插入图片描述

  • 41
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

同学小张

如果觉得有帮助,欢迎给我鼓励!

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

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

打赏作者

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

抵扣说明:

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

余额充值