本文介绍直接在Win10中玩转Ubuntu子系统和Docker,并安装一下SonarQube玩一下,下面有其他详细参考资料,会直接贴相关的资料的链接,不会乱凑字数。
1. 在原生Win10系统上玩Linux
以前我们如果要在Windows操作系统上面,玩Linux,一般需要安装虚拟机,然后在虚拟机里面安装Linux操作系统。对于我们来说,显得非常重。
从Win10开始,Windows可以通过WSL2 技术支持在原生的系统上使用到 Linux 内核,实现 Linux 子系统化。WSL2是 Windows Subsystem for Linux 2 的缩写,非常形象:Window中Linux子系统。
安装方法非常简单,可参考Microsoft官方帮助文档:适用于 Linux 的 Windows 子系统安装指南 (Windows 10)(链接:https://docs.microsoft.com/zh-cn/windows/wsl/install-win10),该帮助文档非常详细,从系统约束到安装都有介绍到,可以通过该帮助文档,完成 Win10 操作系统上 WSL2 及 Ubuntu 操作系统的安装。
安装完成后,点开始菜单,就可以看到 Ubuntu 操作系统打开的图标:
打开后,将直接打开Ubuntu连接的shell连接框:
这样,就可以直接在Windows操作系统上,使用Ubuntu操作系统了,非常方便。
2. 基于WSL2的Ubuntu20.04中docker安装
这一部分也非常简单,和普通的Ubuntu操作系统中安装docker的方式一样。在第1节中打开的Ubuntu连接界面执行下面命令:
sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
使用官方脚本一键安装(基于阿里云的镜像)。安装完成后,执行 sudo docker start 即可完成 docker 安装和启动。
3. 基于docker安装SonarQube
上面都已经把环境准备好了,可以使用docker安装个软件玩一下子,这里我安装了一个SonarQube,给大家参考下,此时就和普通的docker操作非常类似:
sudo docker run -d --name sonarqube \
--restart always \
-p 9000:9000 \
-v sonarqube_conf:/opt/sonarqube/conf \
-v sonarqube_data:/opt/sonarqube/data \
-v sonarqube_extensions:/opt/sonarqube/extensions \
-v sonarqube_bundled-plugins:/opt/sonarqube/lib/bundled-plugins \
sonarqube
上面命令执行完后,就在本地安装好了一个SonarQube,可以通过访问 http://localhost:9000 来进行访问:
这样一个基础的SonarQube的环境就搭好了。
4. 说明
上面的操作,都是在自己家里公网环境下完成,如果在公司内部,网络受限的环境下面,可能就没有这么顺利,主要可以考虑的方向:
(1) 设置代理,保证可以连接公网环境,这样仍然可以使用上面的方式;
(2) Ubuntu中,安装docker,也有多种方式,比如可以 手动安装、可以基于 Ubuntu 的 apt-get 安装,还可以直接绿色安装(之前有在公司,网络不通,我从其他地方拷贝了一个,还是可以跑起来),可以参考菜鸟教程Ubuntu Docker 安装(链接:https://www.runoob.com/docker/ubuntu-docker-install.html);
(3) docker安装SonarQube,可以配置不同的docker hub,国内有很多公共镜像源,比如网易、阿里云等,很多公司自己也搭有自己的公司docker hub;
(4) 上面每个步骤都是简化使用,比如上面起SonarQube服务,使用了内嵌的h2数据库,如果要用作正式使用,或者希望持久化数据,或者希望数据在升级可迁移使用,需要设置使用可持久化的外部数据库,比如Postgres数据库,这里不详细介绍相关使用方法了。