WSL 安装docker
什么是WSL?
Windows Subsystem for Linux (WSL) 是 Windows10 专业版之后的功能,它允许用户在 Windows 系统内运行 Linux 系统。简而言之,就是用 Windows 的系统内核去“模拟”一个 Linux 环境,让 Windows 可以像运行 Linux 一样运行。
WSL安装步骤
1. 启用WSL
如果你的 Windows10 系统低于 2004 版本,那么就需要启用 WSL,方法如下:
- 在 Windows10 上右键选择 “开始”,点击 “应用和功能”
-
查询 “Microsoft-Windows-Subsystem-Linux” 是否存在,如果未存在就需要启用 WSL
-
在开始菜单中搜素“开发者设置”,勾选 “开启开发人员模式” 和 “适用于 Linux 的 Windows 子系统“
-
重启电脑
如果你的 Windows10 系统高于 2004 版本,则可以跳过此步骤。
2. 安装Linux环境
接下来我们需要安装一个 Linux 环境,在 Microsoft Store 中可以方便地获取。
我们可以下载一个流行的 Debian 版本的 Linux,只需要在 Microsoft Store 中搜索“Debian”,然后选择版本,最后安装即可。
3. 连接到WSL
安装完成后,我们还需要配置一些参数才能使用 WSL。首先打开一个 cmd 窗口,然后输入下面的命令:
wsl --set-default-version 2
这个命令将会设置 WSL 的默认版本为 2。版本 2 是 WSL 最新版本,其与版本 1 不同之处在于采用了虚拟机技术,并以轻量容器的形式实现了完整的 Linux 内核。
接着,我们需要连接到 Linux 内核,由于我们已经安装了 Debian 版本的 Linux,因此我们可以运行以下命令:
wsl -d Debian
这个命令将会连接到 Debian 的 Linux 内核,并且打开一个 Linux 命令行窗口。
到此为止,我们已经成功地安装了 WSL 环境,并且连接到了 Linux 系统,下面是如何安装 Docker。
安装 Docker
接下来我们需要在 WSL 中安装 Docker。Docker是一个用于构建、发布和运行应用程序的平台。通过使用 Docker,我们可以将一个应用程序打包到一个“容器”中,然后将这个容器部署到另一个机器上,而不需要关心操作系统、驱动、库等各种环境的依赖关系。
1. 添加官方 Docker key 并添加 Docker 库
在 Linux 系统中,我们需要先添加 Docker 的 key,然后添加官方的 Docker 库,这样才能安装 Docker。
首先我们需要更新我们的 Linux 系统,使用以下命令:
sudo apt-get update
接下来,我们需要添加 Docker 的 GPG key:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
最后,我们需要在 Debian 上添加 Docker 软件包源,并且更新系统的包索引:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
sudo apt-get update
2. 安装 Docker
安装 Docker 的命令非常简单,在 Debian 中只需要运行以下命令即可:
sudo apt-get install docker-ce
等待一段时间,Docker 就会被自动安装在 Linux 系统中了。
3. 测试 Docker
安装完成后,让我们来测试一下 Docker 是否可以正常工作。运行以下命令:
docker run hello-world
在运行这个命令的时候,Docker 会自动下载一个名为“hello-world”的镜像,并且在这个镜像中运行一个简单的测试程序。
如果一切正常的话,你应该会看到类似下面的输出信息:
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
使用 Docker
现在你已经安装好了 Docker,并且测试了它是否正常工作,接下来我们来看一些基本的 Docker 操作用法。
1. 下载一个 Docker 镜像
在 Docker 中,我们的应用程序是运行在 Docker 镜像里面的,因此我们需要先下载一个 Docker 镜像。
在使用之前,我们需要将本地 Docker 引擎中没有的镜像下载到本地。通过以下命令即可:
docker pull image:tag
其中,“image”表示镜像名称,“tag”表示镜像版本,可以理解为标识这个镜像的唯一标识符。
例如,我们可以下载一个名为“nginx”的镜像,并且版本是 1.19.5:
docker pull nginx:1.19.5
下载好的镜像里面包含了使用这个镜像所需的全部依赖,就像一个发行版中的 iso 镜像一样。
2. 启动一个 Docker 容器
在 Docker 中,容器是运行在镜像上,通过容器来启动我们的应用程序。
使用 Docker 创建一个容器非常简单,我们可以使用以下命令:
docker run -itd --name container_name image:tag /bin/bash
其中,“container_name”表示容器名称,“image”和“tag”表示要使用的镜像和版本,/bin/bash 表示容器启动后默认运行的命令。
例如,启动一个名为“my_nginx”的容器,并且使用刚才下载的镜像:
docker run -itd --name my_nginx nginx:1.19.5 /bin/bash
运行完成后,我们可以使用以下命令来查看这个容器的状态:
docker ps
如果这个容器状态为“Up”,说明容器已经成功启动。
3. 进入 Docker 容器
在 Docker 中,可以使用以下命令进入容器内部:
docker exec -it container_name /bin/bash
其中,“container_name”表示要进入的容器的名称,/bin/bash 表示进入容器后默认运行的命令。
例如,进入名为“my_nginx”的容器:
docker exec -it my_nginx /bin/bash
进入后,你应该会看到一个命令行提示符,这意味着你已经成功地进入了容器内部。
4. 暴露 Docker 容器端口
在使用 Docker 启动服务时,我们需要将服务所使用的端口暴露出来,才能让外部的用户访问。
使用以下命令来将容器的某个端口映射到主机上:
docker run -p 8080:80 image:tag
其中,“8080”为主机上的端口,“80”为容器中的端口,“image”和“tag”表示要使用的镜像和版本。
例如,将容器的“80”端口映射到主机的“8080”端口:
docker run -p 8080:80 nginx:1.19.5
启动完成后,通过访问 http://localhost:8080 就可以访问到容器内部的服务了。
5. 停止 Docker 容器
使用以下命令停止正在运行的容器:
docker stop container_name
其中,“container_name”表示要停止的容器的名称。
例如,停止名为“my_nginx”的容器:
docker stop my_nginx
如果要彻底删除容器,可以使用以下命令:
docker rm container_name
其中,“container_name”表示要删除的容器的名称。
例如,删除名为“my_nginx”的容器:
docker rm my_nginx
结论
通过以上的操作,我们已经成功地使用 WSL 安装了 Docker,并且学会了基本的 Docker 操作用法。Docker 的使用非常方便,可以极大地简化软件部署和环境搭建的过程,让我们更加专注于应用程序本身的开发工作。如果你需要部署一个应用程序或者搭建一个环境,那么不妨尝试一下 Docker,相信它会带来不少便利。