Windows 配置原生Docker容器环境(不借助Hyper-V虚拟化)

安装Docker

Docker CE安装方式

执行安装

irm https://setoci.524228.xyz/Install/Winx86-dockerce.ps1 | iex

切换Native模式

& $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchDaemon .

Nerdctl 安装方式

执行命令

命令完成后会自动重启,请提前保存好未保存的文件!!!

irm https://setoci.524228.xyz/Install/Winx86-nerdctls.ps1 | iex

优化操作

修改名称

优化后可以直接使用docker命令进行管理

copy "C:\Program Files\nerdctl\nerdctl.exe" "C:\Program Files\nerdctl\docker.exe"

修改路径

默认会使用C:\ProgramData\containerd\作为容器目录,会占用C盘空间
编辑C:\Program Files\containerd\config.toml

root = "D:\\Nerd\\root" # <-----------修改此处
state = "D:\\Nerd\\state" # <-----------修改此处
......

  [plugins."io.containerd.internal.v1.opt"]
    path = "D:\\Nerd\\root\\opt" # <-----------修改此处

然后删除所有镜像和容器关闭容器服务:

docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
docker rmi $(docker images -q)
net stop containerd
tskill containerd

迁移文件数据:

mkdir "D:\Nerd"
# move "C:\ProgramData\containerd\*" "D:\Nerd\" # <---建议不要移动而是复制
xcopy "C:\ProgramData\containerd\" "D:\Nerd\" /E /H /C /I /Y

启动容器服务

net start containerd

使用Docker

拉取镜像

docker pull mcr.microsoft.com/windows/nanoserver:ltsc2022

镜像列表:

启动容器

docker run --rm -it mcr.microsoft.com/windows/nanoserver:ltsc2022 cmd.exe

删除Docker

sc stop containerd
sc delete containerd
del /r /q "C:\ProgramData\containerd"
del /r /q "C:\Program Files\containerd"
del /r /q "C:\ProgramData\nerdctl"
del /r /q "C:\Program Files\nerdctl"
Last modification:March 25, 2025
If you think my article is useful to you, please feel free to appreciate