docker修改镜像的存储位置_win10家庭版Docker环境搭建步骤

1. 什么是Docker

一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。容器有点像轻量级的虚拟机,能够提供虚拟化的环境,但是成本开销小得多。

2.安装步骤

2.1 安装wsl2

Docker是基于linux的,在win10中首先需要安装wsl2。wsl全称Windows Subsystem for Linux,让win10能够原生运行Linux二进制可执行文件的兼容层,且不会产生传统虚拟机或双启动设置开销。

wsl2安装步骤参照微软官方教程https://docs.microsoft.com/zh-cn/windows/wsl/install-win10#step-4---download-the-linux-kernel-update-package步骤一到五

2.2 安装Docker Desktop WSL 2 backend

参照Docker官方说明https://docs.docker.com/docker-for-windows/wsl/

Docker原始镜像源在国外,可在Docker设置中的registry-mirrors项添加国内镜像源加速。

Docker安装完成后进入powershell输入

docker run hello-world

如果出现如下信息表示Docker安装成功。

docker修改镜像的存储位置_win10家庭版Docker环境搭建步骤_第1张图片

docker成功安装后提示信息

2.3 修改Docker安装位置

Docker默认安装在c盘且安装过程中不可修改安装位置,如果c盘剩余空间太小很不方便,基于hyper-v的Docker Desktop可安装好后在设置中直接修改位置,Docker Desktop WSL 2 backend可按照如下过程转移至其他位置:

1)删除所有容器:

可进入powershell执行以下命令

docker rm $(docker ps -a -q)

或在Docker Desktop中手动删

2)关闭所有发行版

wsl --shutdown

3)备份已有image数据

wsl --export docker-desktop-data E:docker-desktopdocker-desktop-data.tar

最后的E:docker-desktopdocker-desktop-data.tar是备份路径,可视情况自行修改

4)注销当前的docker-desktop-data发行版

wsl --unregister docker-desktop-data

5)重新导入备份的docker-desktop-data

wsl --import docker-desktop-data E:docker-desktopdata E:docker-desktopdocker-desktop-data.tar --version 2

E:docker-desktopdata为指定的Docker新存储路径

E:docker-desktopdocker-desktop-data.tar为第3)步备份的地址

6)重新运行Docker Desktop

2.4安装相应的镜像

安装所需的镜像。这里使用的是deepo(https://github.com/ufoym/deepo),集成了常见的深度学习库和相应的环境

docker pull ufoym/deepo:cpu

2.5 vscode在容器环境中开发

vscode是当前最流行的IDE之一,用过的都说好。在vscode中与容器连接非常简单,步骤如下:

  1. 首先在vscode中安装docker插件。
  2. 在powershell中启动容器:docker run -it -p 8022:22 --name docker-python -v D:/docker-python:/docker-python ufoym/deepo:cpu-it 该参数通常的解释是,-t让docker分配一个伪终端并绑定到容器的标准输入上, -i则让容器的标准输入保持打开。Docker中系统镜像的缺省命令是 bash,如果不加 -it bash 命令执行了自动会退出。这是因为如果没有衔接输入流,本身就会马上结束。加-it 后docker命令会为容器分配一个伪终端,并接管其stdin/stdout支持交互操作,这时候bash命令不会自动退出。-p 表示对端口号进行映射,即将 docker 容器的 22 号端口映射到宿主机的 8022 端口,这样设置的目的是方便后续使用 VSCode 连接容器,可以根据需要进行设置--name docker-python 是将容器命名为docker-python,如果不指定名称则会随机名称-v D:/docker-python:/docker-python 将宿主机的D:/docker-python目录映射到容器的/docker-python目录,方便主机和宿主机间共享数据ufoym/deepo:cpu 镜像名称
  3. 在vscode中连接container。如下图所示,在启动的container处右键,点击Attach Visual Studio Code,在新弹出的vscode界面中即可在启动的容器环境中开发了
docker修改镜像的存储位置_win10家庭版Docker环境搭建步骤_第2张图片

vscode中连接container

以后再次使用时,只需先启动container:

docker container start docker-python

之后直接执行上述第三步即可

你可能感兴趣的:(docker修改镜像的存储位置)