在 Docker 应用栈搭建的过程中,遇到一个问题,就是无法查看容器的存储卷挂载的目录。通过PowerShell
无法直接访问很好理解,但是通过WSL2
的子系统Ubuntu
也无法访问。
Docker 实质上是在已经运行的 Linux 下制造了一个隔离的文件环境,因此它执行的效率几乎等同于所部署的 Linux 主机。因此 Docker 必须部署在 Linux 内核的系统上,在 Windows 上部署 Docker 的方法都是先安装一个虚拟机,并在安装 Linux 系统的的虚拟机中运行 Docker。
Windows
VirtualMachine
Docker
实现方式
获取可访问 Docker 守护程序的容器
docker run --name ubuntu-docker-client --privileged -it -v /var/run/docker.sock:/var/run/docker.sock jongallant/ubuntu-docker-client
运行具有完全 root 访问权限的容器
docker run --net=host --ipc=host --uts=host --pid=host -it --security-opt=seccomp=unconfined --privileged --rm -v /:/host alpine /bin/sh
切换到主机文件系统
chroot /host