如何在 Windows 上的 Docker 中运行 Linux 库?


简介

本文将介绍 Linux 库。这些库的实际功能是什么,以及不同类型的库。然后,我们将了解如何使用下面提到的各种方法在 Windows 操作系统上使用这些 Linux 库。

什么是 Linux 库?

Linux 终端仅运行并遵循命令。它是一个“仅文本控制台”,响应终端命令。这些命令或函数的定义或代码存储在库中。

Linux 库的类型

可以根据可执行文件的性质对库进行分类。

  • 静态库

  • 动态库

静态库 - 命令及其定义包含在可执行文件中。

动态库 - 命令及其定义未绑定在可执行文件中。命令的定义不在可执行文件中,只有命令存在。

方法

有多种方法或途径可以在 Windows 主机上使用 Linux 库。其中一些列在下面。

  • 在 Windows 主机上使用 Docker Desktop。

  • 在 Windows 主机上使用虚拟机。

  • 在 Windows 主机上使用 WSL(适用于 Linux 的 Windows 子系统)。

这里我们将实现各种 Linux 库和软件包的执行。

Docker Desktop

它是一个 Windows 桌面应用程序,用于在 Windows 平台上运行 Docker 容器。它适用于 Apple、Linux 和 Windows。

步骤 1 - 打开 Docker Desktop 应用程序

我们可以通过两种方式创建、运行、停止、销毁和管理容器。一种是使用此“桌面版本”,或者我们可以使用“Windows 终端”。这里我们将使用 Windows 终端进行演示。

步骤 2 - 从开始菜单打开终端。如果未安装,请使用 Microsoft Store 安装“Windows 终端”。使用命令“docker --version”检查 docker 版本。

示例

$docker --version

输出

Docker version 20.10.17, build 100c701

步骤 3 - 运行 Ubuntu 容器和命令

现在在 Docker 容器内运行 Ubuntu 镜像。然后,进入此容器以执行 Linux 命令。

PS C:\Users\HP> docker run -itd --name cont1 ubuntu
36a15a62f09afd3cf8837807bc99a9414dc4dc16ac411f245550823444c00651
PS C:\Users\HP> docker ps
CONTAINER ID    IMAGE    COMMAND    CREATED       STATUS         PORTS    NAMES
36a15a62f09a    ubuntu     "bash"   7 seconds ago  Up 4 seconds           cont1
PS C:\Users\HP> docker exec -it cont1 bash
root@36a15a62f09a:/# pwd
/
root@36a15a62f09a:/# whoami
root
root@36a15a62f09a:/# ls
bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@36a15a62f09a:/# which ls
/usr/bin/ls

因此,我们能够在 Windows 上的 Docker 中运行 Linux 库。

虚拟机

我们可以使用虚拟机来安装 Linux 发行版,然后在其上运行 Docker 容器,而不是使用 Docker Desktop。安装虚拟化工具,我们将使用 Oracle VM VirtualBox Manager。创建一个 Ubuntu 虚拟机并启动它。

步骤 1 - 启动 Ubuntu 虚拟机

虚拟机启动后,它将为 Ubuntu 虚拟机打开一个新的显示窗口。

步骤 2 - 打开 Linux 终端并运行 Docker 容器。

hemant@hemant-VirtualBox:~$ docker run -itd --name busybox_cont busybox
5836441ac4def5b76cc92718f5e6451f91c1a9a1bca4b4a244092e5e31083279
hemant@hemant-VirtualBox:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
5836441ac4de busybox "sh" 5 seconds ago Up 3 seconds
busybox_cont

步骤 3 - 在这里执行 Linux 命令。

hemant@hemant-VirtualBox:~$ docker exec -it busybox_cont sh / # ls bin dev etc home proc root sys tmp usr var / # pwd / / # date Thu Dec 8 04:45:16 UTC 2022 / # which date /bin/date

WSL:适用于 Linux 的 Windows 子系统

WSL 是微软的产品。这是一个在微软架构上无缝运行的 Linux 内核。

步骤 1 - 从 Microsoft Store 安装它

在 Microsoft Store 中搜索 WSL,下载并安装它。

使用以下 PowerShell 命令在 WSL 上安装 Ubuntu。

$ wsl --install -d ubuntu

现在您可以通过搜索“Ubuntu”从开始菜单启动应用程序。

步骤 2 - 我们已安装适用于 Ubuntu 的 WSL。现在运行 Linux 库命令。

hemant@DESKTOP-G29Q9GU:~$ pwd
/home/hemant
hemant@DESKTOP-G29Q9GU:~$ date
Thu Dec 8 10:34:53 IST 2022
hemant@DESKTOP-G29Q9GU:~$ which date

/usr/bin/date
hemant@DESKTOP-G29Q9GU:~$ which ls

/usr/bin/ls
hemant@DESKTOP-G29Q9GU:~$ whatis ls
ls (1) - list directory contents
hemant@DESKTOP-G29Q9GU:~$ whatis date
date (1) - print or set the system date and time
hemant@DESKTOP-G29Q9GU:~$ whatis wget
wget (1) - The non-interactive network downloader.

结论

因此,在本文中,我们能够使用 WSL、VM 和 Docker Desktop 等各种方法在 Windows 系统上执行 Linux 库命令。

更新于: 2023年1月11日

621 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告