安装Docker并运行容器:让WSL与Docker完美结合

在计算机科学的世界里,有一个神奇的工具,它可以帮助开发者轻松地构建、发布和运行应用程序,而无需担心各种复杂的环境配置和依赖关系。这个工具就是Docker。在本教程中,我们将探讨如何在Windows Subsystem for Linux (WSL)上安装Docker,并学习一些基本的Docker操作,让你的开发工作更加便捷。

步骤1:启用WSL

首先,确保你的Windows 10系统已启用WSL功能。如果你的系统版本低于2004版本,需要按照以下步骤启用WSL:

  1. 在Windows 10上右键点击“开始”,选择“应用和功能”。
  2. 搜索“Microsoft-Windows-Subsystem-Linux”是否存在,如果不存在,需要启用WSL。
  3. 在开始菜单中搜索“开发者设置”,勾选“开启开发人员模式”和“适用于Linux的Windows子系统”。
  4. 重启电脑。

如果你的Windows 10系统版本高于2004版本,则可以跳过此步骤。

步骤2:安装Linux环境

接下来,我们需要在WSL中安装一个Linux环境。你可以在Microsoft Store中方便地获取各种Linux发行版。让我们以流行的Debian版本为例:

  1. 打开Microsoft Store。
  2. 搜索“Debian”并选择版本,然后点击“安装”。

步骤3:连接到WSL

安装完Linux环境后,我们需要配置WSL的一些参数以便使用。打开命令提示符(cmd)并输入以下命令:

wsl --set-default-version 2

这个命令将设置WSL的默认版本为2,它采用了虚拟机技术以容器的形式实现完整的Linux内核。

接下来,使用以下命令连接到Linux内核,假设我们已经安装了Debian版本的Linux:

wsl -d Debian

这个命令将连接到Debian的Linux内核并打开一个Linux命令行窗口。

至此,我们已成功安装WSL环境并连接到Linux系统,接下来让我们来安装Docker。

安装Docker

接下来,我们将在WSL中安装Docker。Docker是一个用于构建、发布和运行应用程序的平台,让我们一步步来安装它。

步骤1:添加官方Docker key并添加Docker库

在Linux系统中,我们首先需要添加Docker的GPG key,然后添加官方的Docker库,以便安装Docker。

首先,更新系统包索引:

sudo apt-get update

接下来,添加Docker的GPG key:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

最后,添加Docker软件包源并再次更新系统包索引:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
sudo apt-get update

步骤2:安装Docker

在Debian中,安装Docker非常简单,只需运行以下命令:

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

步骤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

步骤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 host_port:container_port image:tag

其中,“host_port”为主机上的端口,“container_port”为容器中的端口,“image”和“tag”表示要使用的镜像和版本。

例如,将容器的“80”端口映射到主机的“8080”端口:

docker run -p 8080:80 nginx:1.19.5

现在,通过访问 http://localhost:8080 ,你可以访问到容器内部的服务了。

步骤5:停止和删除Docker容器

使用以下命令停止正在运行的Docker容器:

docker stop container_name

其中,“container_name”表示要停止的容器的名称。

如果要彻底删除容器,可以使用以下命令:

docker rm container_name

其中,“container_name”表示要删除的容器的名称。

结论

通过本教程,你已经成功地在WSL上安装了Docker,并学会了一些基本的Docker操作。Docker是一个强大的工具,可以帮助你轻松构建和部署应用程序,极大地提高开发效率。无论是开发者还是系统管理员,Docker都是一个不可或缺的利器,希望你能充分利用它来简化你的工作流程。

现在,你已经掌握了WSL与Docker的结合使用,让你的开发环境更加灵活和便捷。享受Docker带来的便利,加速你的开发和部署过程吧!

本文由作者 王大神 原创发布于 大神网的AI博客。

转载请注明作者:王大神

原文出处:安装Docker并运行容器:让WSL与Docker完美结合

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2023年9月19日
下一篇 2023年9月19日

相关推荐

  • 如何在Windows上安装和设置Docker Desktop

    想象一下,你是一位开发人员,正在为你的项目寻找一个方便的方式来管理容器化的应用程序。你听说过Docker,它是一个流行的容器化平台,可以帮助你轻松地构建、部署和运行应用程序。现在,你想在Windows上安装和设置…

    2023年10月10日
    00
  • 解决方法:Linux下创建的NTFS分区无法在Windows识别的问题

    小明是一名热衷于计算机技术的IT爱好者,他平时使用Linux系统进行各种操作,包括创建分区来存储数据。然而,最近他遇到了一个问题:他在Linux上创建的NTFS分区,无法在他的Windows电脑上正常识别。这让他感到非常困…

    2023年8月24日
    00
  • 如何在Linux/Ubuntu 20.04中修改SSH默认端口

    在互联网上,保护服务器的安全是至关重要的。其中一个重要的安全措施是修改SSH(Secure Shell)的默认端口,这可以减少恶意攻击的风险。在这篇教程中,我们将学习如何在Linux/Ubuntu 20.04操作系统中修改SSH的默认2…

    2024年1月7日
    00
  • Docker部署Jellyfin的教程

    Docker是一个强大的容器化平台,允许用户轻松部署各种应用程序。而Jellyfin则是一款免费的开源媒体服务器,它可以帮助你整合和管理所有的媒体内容,包括电影、电视节目、音乐等。通过Docker部署Jellyfin,你可以在…

    2023年8月19日
    00
  • 从Linux高效运行Windows的最佳方案探讨

    有一位资深的Linux开发者,他的主力机上运行的是Manjaro Linux,但由于某些公司软件和内部沟通工具只能在Windows上运行,他不得不在其Linux系统中通过虚拟机的方式运行Windows。尽管他的电脑配置相当高,但在使用虚…

    2023年10月25日
    00
  • 迁移中的噩梦:Ubuntu与Debian之间的神秘故障

    曾经有一段时间,项目运行得很顺利。两个版本,一个在Linux上运行(使用Ubuntu,使用gcc编译),另一个在Windows上进行本地测试(使用VS编译)。这个项目运行在Docker容器中,一切看起来都很正常。 然后,迁移的时…

    2023年10月25日
    00
  • WSL 1与WSL 2:究竟该选择哪一个?

    在当今的计算机世界中,Windows操作系统和Linux操作系统都具有广泛的应用。然而,要在Windows系统中运行Linux应用程序并与Windows无缝集成一直是一个挑战。为了解决这个问题,Microsoft推出了Windows Subsystem for…

    2023年12月18日
    00
  • 宝塔面板:解决在ubuntu22.04LTS(pop os)下[Docker管理器]出错

    近期,我对我的虚拟机服务器进行了一次系统升级,为了更好地管理和使用,我决定安装一个新的服务器操作系统。在考虑众多选项后,我选择了Pop!_OS,一款基于Ubuntu/Debian的流行Linux发行版。为什么选择Pop!_OS呢?…

    2022年10月28日
    00
  • 如何在Ubuntu上安装MySQL

    有一天,你突然意识到你需要在你的Ubuntu系统上安装MySQL数据库。也许你是一名开发人员,需要一个强大的数据库管理系统来存储和管理数据。也许你是一名系统管理员,需要为你的服务器配置一个可靠的数据库。无论是哪…

    2023年11月2日
    00
  • 如何轻松管理 Linux 系统的开机启动项:add_service 工具详解

    嗨,各位 Linux 用户们!今天我要向大家介绍一款强大的命令行工具,它可以让你轻松管理系统的开机启动项,而无需手动编写繁琐的配置文件。有时候,我们需要一些简单而便捷的方式来处理系统管理的任务,而这个工具——…

    2023年9月23日
    00