簡體   English   中英

如何訪問windows 10 docker桌面的/var/lib/docker?

[英]How to access /var/lib/docker in windows 10 docker desktop?

  1. 為 windows 10 安裝了 docker 桌面
  2. 使用 powershell 運行 docker 個容器 ( ubuntu )
  3. 現在,我想瀏覽到 /var/lib/docker --> 想瀏覽到 overlay2 以檢查層.. /diff 文件夾等。
  4. 如果我訪問 /var/lib/docker 文件夾 - powershell 抱怨該文件夾不存在。

其他信息:我已經檢查了映射到 docker 桌面的磁盤映像位置。 它是一個 vhdx 文件。 我無法使用 Oracle 虛擬框打開它 - 它說它不是受支持的版本文件。 我嘗試在 Hyper V 管理器中打開,VM 被列出:DockerDesktopVM。

  • 但我的目標是執行 SSH 並瀏覽 /var/lib/docker 文件夾。

(這是針對 WSL2 的情況。這是對類似問題的回答)

Docker 鏡像由 Docker 自己的 VM 管理。 “docker info”給出的路徑 /var/lib/docker 是相對於 docker 的主機文件系統,而不是你的容器的文件系統。 他們的掛載點是不同的。 您可以通過以下任一方式查看 docker 的主機文件系統:

  1. 您可以將主機文件系統掛載到容器目錄。 如,

      docker run -v /:/data -it ubuntu /bin/bash

    此命令在 Ubuntu docker 鏡像中運行一個 shell,將 docker 的文件系統掛載到 /data 目錄。 在那里你可以在 /data 下找到一個完整的文件系統,包括 ./var/lib/docker。 如果需要,您可以在 shell 提示中“chroot /data”以獲得更好的查看效果。

  2. 在 WSL2 中為您的發行版啟用 docker 后,您始終可以在您的發行版 /mnt 目錄中檢查您的容器。 Docker 已經為你安裝了一切。

      /mnt/wsl/docker-desktop-data/data/docker
  3. 如果您足夠老練,您可能會在您的 Windows 目錄中找到所有數據的虛擬磁盤的實際位置。

      C:\\Users\\your_name\\AppData\\Local\\Docker\\wsl\\data\\

    或者可能只是為了好玩:

      \\\\wsl$\\Ubuntu\\mnt\\wsl\\docker-desktop-data\\data\\docker

    不幸的是,我還沒有嘗試深入研究它們。

docker 論壇的此頁面所述,您可以使用 shell 運行普通的debian docker 映像並將其名稱空間更改為docker host

您需要運行的終端命令是:

>> docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -i sh

據我了解,在將 debian 映像作為終端( -it選項)運行后,您需要使用指定的參數調用命令nsenter以將命名空間更改為主機。 在此之后,您的容器成為Docker 主機,您可以查看它的所有文件。

執行此命令后,您只需調用以下命令即可訪問 docker 圖像:

>> cd ls /var/lib/docker/

在 windows 文件資源管理器的左窗格中,您可以找到所有計算機驅動器。 如果您已經安裝了 WSL(當您設置 Docker 時),您將看到這個 Linux pinguin 圖標。

Select docker -desktop-data目錄及其內部的數據目錄。 在數據目錄中,您將找到docker目錄和docker run... -v命令生成的卷。

快捷方式是: cd \\wsl.localhost\docker-desktop-data\data

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM