在windows 10 或windows 11 上使用docker,可以直接在docker 官网下载docker desktop安装即可。

但在windows server上则无法支持docker desktop,此时可通过如下方式安装:

 

以 管理员权限运行Power Shell,然后执行:

安装Hyper-V
>Install-WindowsFeature -Name Hyper-V

 

 

安装容器功能:

安装容器功能
>Install-WindowsFeature -Name containers

 

通过命令或开始菜单重启服务器:

安装完成后需重启服务器
>Restart-computer

 

开始安装docker:

Install-Module DockerMSFTProvider

如果出现NUGET相关提示,输入YES确认安装

如果出现Untrusted repository,输入YES确认安装

 

安装docker package:

Install-Package Docker -ProviderName DockerMSFTProvider -Force

(视网络状况,可能需要多尝试几次)

 

如下图显示 docker 版本即表示安装完成了。

 

安装完成的docker EE 默认内核为windows,通常情况下需要切换到linux内核,可通过如下代码进行切换:

>[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "1", "Machine")
>Restart-Service Docker

 

【选做,根据实际情况】如果要使用windows 容器,比如运行老式asp.net 4.7 程序,则需要widnows 内核的容器支持,可通过如下指令切换回windows内核:

>[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", $null, "Machine")
>Restart-Service Docker

 

Windows server 的 docker 没有可视化UI,可安装第三方的工具,比如 portainer:

docker run -d --name portainer --restart always -p 9000:9000 -v \\.\pipe\docker_engine:\\.\pipe\docker_engine portainer/portainer

安装完成后,输入:http://localhost:9000

按照提示初始化系统即可:

 

如需要安装docker compose:

Invoke-WebRequest "https://github.com/docker/compose/releases/download/v2.6.1/docker-compose-Windows-x86_64.exe" -UseBasicParsing -OutFile $Env:ProgramFiles\Docker\docker-compose.exe

查看docker-compose version:

docker-compose --version