快速搭建 Linux 学习平台

最近换了一个新的笔记本电脑,原来的学习环境没了,所以就重新搭建一下,顺便把这个过程给记录下来,希望可以帮助有需要的人。一个学习环境最主要的目的是简化学习需要准备的时间,不需要花费太多的时间在哪些不必要的细枝末节上面。

这里主要分成以下几部分:

  • 安装虚拟机
  • 下载 Linux 镜像
  • 安装 Docker
  • 拉取镜像
  • 使用镜像

现在容器化大行其道,以前传统的在系统上直接安装软件的方式也应该有所转变,特别是有些软件安装过程并不是很容易。通常花费大量时间,也不会有很大的回报,最多是让你对软件的安装过程变得更有耐心了。

安装虚拟机

这里我选择的是 VMware Workstation Player 的最新版本,它对于个人用户是免费的。为什么不使用 WSL 呢?老实说,我还是不太习惯 WSL,比如它的 IP 怎么固定就很难解决。再加上我对于虚拟机软件还是挺熟悉的,所以就沿用以前的习惯了。

下载 VMware Workstation Player | VMware | CN

快速搭建 Linux 学习平台_第1张图片

点击立即下载即可,虽然是试用,但是我们它是可以个人免费使用的,因此不需要担心付费或者盗版的问题。

下载 Linux 镜像

Linux 系统的话,我比较熟悉的发行版是 Ubuntu,大学的时候就接触了,对于它比较熟悉。如果,你不熟悉的话,推荐和我一样选择它;或者选择适合你自己的 Linux 发行版。

下载Ubuntu桌面系统 | Ubuntu

选择最新的,或者次新的版本就行了。

然后就是在 VMware 中创建你自己的虚拟机就行了,这个步骤省略了。要自己多探索以下,网上的教程还是蛮丰富的。

注:默认的源比较慢,可以自行切换国内的源。

这是我虚拟机配置,我的笔记本是 32G 的,所以我的配置比推荐配置要高。

快速搭建 Linux 学习平台_第2张图片

安装 Docker

前面说了,因为现在容器化大行其道,所以我们也直接用容器化的方式来安装软件或者服务,并不是直接在 Linux 系统上面安装。所以,接下来我们来安装 Docker。

菜鸟教程-Ubuntu Docker 安装

快速搭建 Linux 学习平台_第3张图片

推荐非 root 用户使用 Docker,这是出于安全方面的考虑。

快速搭建 Linux 学习平台_第4张图片

快速演示

好了,万事俱备,只欠东风了。我们直接开始使用它吧!这里我以 MySQL 为例子来做一个快速的演示。

拉取 MySQL 镜像(tag:8.0) docker pull mysql:8.0,这个我之前已经拉取过了(网络不好的话,会有点慢,需要自己想办法解决,可以试试阿里云加速或者你可以从别人那里导入一个镜像)。

在这里插入图片描述

启动一个新的容器(菜鸟教程提供了很多服务的启动方式) docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql,这里 -e 是指定了一个环境变量(environment),只指定了一个密码(这就够了,关于配置的信息其实不是那么重要的,开发还是要多专注自己的领域)。

因为我之前已经启动过了 MySQL 容器,所以我现在直接启动已经停止的容器:docker start mysql,不再启动一个新的容器。然后是连接到容器:docker exec -it mysql bash ,这条命令的意思是连接到我们运行的名为 mysql 的 MySQL 容器,并启动一个交互式的终端 bash。

快速搭建 Linux 学习平台_第5张图片

开启终端后,输入 mysql -uroot -p 并回车,接着输入密码(密码是我们启动容器时指定的 123456),然后我们来查看 MySQL 默认的事务隔离级别(事务默认的隔离级别是 REPEATABLE-READ,简称 RR,即可重复读):

快速搭建 Linux 学习平台_第6张图片
注:我这里的 MySQL 版本是 8.0,所以事务隔离级别的名称是 transaction_isolation,不是 tx_isolation 了。

总结

好了,到此就结束了,这个搭建的环境是可复用的,以后也是一直可以使用的。如果你也需要一个这样的环境的话,最好是亲自动手试一试。有了 Docker 之后,学习各种软件都会很方便的。在我大学那会,我还没有接触 docker 时,安装软件总是特别复杂的,各种配置,要是弄错了,可麻烦了。现在使用 docker 以后,那就简单多了。甚至,现在的开发都直接在 docker 容器中进行了,本地连开发环境都不需要了。如果你对这个感兴趣,可以来这里了解一下:Development Containers。

你可能感兴趣的:(docker,linux,学习)