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
镜像列表:
- https://hub.docker.com/r/microsoft/windows-servercore
- https://hub.docker.com/r/microsoft/windows-nanoserver
- https://hub.docker.com/r/microsoft/windows-server
- https://hub.docker.com/r/microsoft/windows
启动容器
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"