如何在 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 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告