- 大家好,我是同学小张,日常分享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知识和实战案例
- 欢迎 点赞 + 关注 👏,持续学习,持续干货输出。
- 一起交流💬,一起进步💪。
- 微信公众号也可搜【同学小张】 🙏
本站文章一览: