Win10+WSL2+Ubuntu20.04+Docker+SonarQube实践

举报
maijun 发表于 2021/04/15 19:24:26 2021/04/15
【摘要】 本文主要包含如下的几方面内容:(1)在Win10中安装WSL2;(2)基于WSL2安装Ubuntu20.04子系统;(3)在Ubuntu20.04中安装docker;(4)基于docker安装SonarQube。

本文介绍直接在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数据库,这里不详细介绍相关使用方法了。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。