惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
博客园 - 三生石上(FineUI控件)
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
MongoDB | Blog
MongoDB | Blog
小众软件
小众软件
Y
Y Combinator Blog
博客园 - 聂微东
Google DeepMind News
Google DeepMind News
D
Docker
罗磊的独立博客
Microsoft Security Blog
Microsoft Security Blog
D
DataBreaches.Net
B
Blog
Vercel News
Vercel News
Recent Announcements
Recent Announcements
GbyAI
GbyAI
阮一峰的网络日志
阮一峰的网络日志
T
The Blog of Author Tim Ferriss
H
Hackread – Cybersecurity News, Data Breaches, AI and More
P
Proofpoint News Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Azure Blog
Microsoft Azure Blog
宝玉的分享
宝玉的分享

Hi,I`m lan

MCP协议新进展: 使用 Streamable HTTP 替换当前的 HTTP+SSE 实现。-liangyuanpeng 的博客 我的 AI 员工们开发的微信小程序上线了!-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog vercel 记录-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog [长期更新]cocos creator问题列表-liangyuanpeng 的博客 | liangyuanpeng's Blog go问题列表记录-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog node镜像的更多选择-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog containerd 中的弃用警告 - 为 2.0 做好准备!-liangyuanpeng 的博客 liangyuanpeng 的博客 | liangyuanpeng's Blog kep-1880-多服务CIDR-liangyuanpeng 的博客 | liangyuanpeng's Blog [长期更新]argoworkflow 的一些实践和思考-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog 将Etcd作为一个kubernetes sig来运作-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog argoworkflow 云原生工作流引擎-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog kubecon china 2023将在上海举办-liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog liangyuanpeng 的博客 | liangyuanpeng's Blog
liangyuanpeng 的博客 | liangyuanpeng's Blog
2023-03-28 · via Hi,I`m lan

TOC

前言

前段时间研究过基于容器来搭建一个可视化的 Linux 开发环境,主要是为了研究 java 开发的 Apache Pulsar 和 Apache Bookkeeper 两个项目的源码,如果是非 JVM 类的语言可以基于 openvscode 来搞一个开发环境,例如在 ubuntu20.04 镜像之上安装 openvscode,然后在浏览器就可以使用 vscode 了.对于语言环境则需要另外搭建,这是自然的.

最开始的折腾基于 ubuntu 容器镜像安装桌面,然后安装一些其他软件软件例如 VNC 来做可视化,效果都不太好,最后发现了 webtop 这个宝藏,直接就已经封装好了一个带有桌面的 Linux 容器环境.

部署实践

很简单,一条命令就可以了:

docker run -v $PWD:/work -p 3000:3000 -it -d --name webtop linuxserver/webtop:amd64-ubuntu-kde-781d8753-ls91

可以看到我把当前目录挂载到了容器内的/work目录下,主要的原因是我会有一个初始化开发工具的脚本,在宿主机就将需要的工具都准备好,然后挂载到容器内,容器只需要启动就可以立刻拥有一个可视化的 Linux 开发环境了.

这里给出我准备工具的一个参考:

  • IDEA
  • maven
  • jdk

有时候需要在可视化开发环境内使用到 Docker,这时候我会将 webtop 容器以 host 模式启动,然后将宿主机的 docker 也挂载到容器内,以便这个可视化开发环境也可以使用 Docker.

参考命令:

docker run --network host -d --name=webtop -e PUID=1000 -e PGID=1000 -e TZ=Asia/Shanghai  -v $PWD:/work -v /var/run/docker.sock:/var/run/docker.sock --shm-size="8gb"   linuxserver/webtop:amd64-ubuntu-kde-781d8753-ls91

webtop 镜像自带了 docker 命令,因此不需要安装 docker 客户端命令.

下面给出一些效果图:

desktop

idea

idea_code

微信公众号

扫描下面的二维码关注我们的微信公众号,第一时间查看最新内容。同时也可以关注我的Github,看看我都在了解什么技术,在页面底部可以找到我的Github。

wechat-qrcode