Windows Server 安装 Docker

PowerShell命令(管理员)

Windows Server 安装 Docker(windows内核)

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
如果系统提示安装 NuGet 提供程序,还请键入 Y 进行安装。
如果在打开 PowerShell 库时遇到错误,则可能需要将 PowerShell 客户端使用的 TLS 版本设置为 TLS 1.2。 为此,请运行以下命令:
# Set the TLS version used by the PowerShell client to TLS 1.2.
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12;
使用 PackageManagement PowerShell 模块安装最新版本的 Docker。

Install-Package -Name docker -ProviderName DockerMsftProvider
PowerShell 询问是否信任包源“DockerDefault”时,键入 A 以继续进行安装。

在安装完成后,请重启计算机。
Restart-Computer -Force

如果需要安装Linux内核Docker,使用以下脚本:

## 如果安装了Docker CE,先卸载 Docker CE.========================= 在卸载 Docker 之前,请确保系统上没有运行任何容器。(参考以下卸载 Docker方法)=============================
Uninstall-Package -Name docker -ProviderName DockerMSFTProvider

## 如果你使用运行在Hyper-V上的Linux虚拟机运行Docker容器,启用嵌套虚拟化
Get-VM WinContainerHost | Set-VMProcessor -ExposeVirtualizationExtensions $true
执行:BCDEdit /set hypervisorlaunchtype auto # 启用嵌套虚拟化
重启电脑

## 安装 docker 指定版本 -RequiredVersion preview (预览版) / -RequiredVersion 19.03.5
先查找最新版本:Find-Package -Name Docker -ProviderName DockerProvider
Install-Module DockerProvider
Install-Package Docker -ProviderName DockerProvider -RequiredVersion 19.03.5

## 允许 LinuxKit 系统运行linux 容器 需要重启docker服务
[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "1", "Machine")
# 切回Windows内核命令:
[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED",$null,"Machine")

# Enable Experimental Features in Dockerd daemon.conf# 执行以下命令
$configfile = @"
{
"experimental": true
}
"@$configfile|Out-File -FilePath C:\ProgramData\docker\config\daemon.json -Encoding ascii -Force

在Docker使用 Linux Container时,仍然需要使用Linux kernal。https://github.com/linuxkit/lcow/releases
Invoke-WebRequest -Uri "https://github.com/linuxkit/lcow/releases/download/v4.14.35-v0.3.9/release.zip" -UseBasicParsing -OutFile release.zip # 下载
Expand-Archive release.zip -DestinationPath "$Env:ProgramFiles\Linux Containers\." # 解压

更新 Docker,请执行以下操作:
使用以下命令检查安装的版本:
Get-Package -Name Docker -ProviderName DockerMsftProvider
Get-Package -Name Docker -ProviderName DockerProvider
使用以下命令查找当前版本:
Find-Package -Name Docker -ProviderName DockerMsftProvider
Find-Package -Name Docker -ProviderName DockerProvider
准备好升级后,运行以下命令:
Install-Package -Name Docker -ProviderName DockerMsftProvider -Update -Force
Install-Package -Name Docker -ProviderName DockerProvider -Update -Force

最后,运行以下命令以启动 Docker:
Start-Service Docker
重启
reStart-Service Docker

## 测试
docker version # 查看版本
docker info # 如果出现 Storage Driver:lcow(linux) 说明支持linux内核
可使用 docker pull --platform=linux/amd64 进行测试

GUI portainer

1.下载镜像
docker pull docker.io/portainer/portainer

2.启动
docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name prtainer-test portainer/portainer
docker run -d -p 9000:9000 --restart=always --name prtainer-test portainer/portainer

访问方式:http://IP:9000/

安装 docker-compose
Invoke-WebRequest -UseBasicParsing -Outfile $Env:ProgramFiles\docker\docker-compose.exe https://smartidedl.blob.core.chinacloudapi.cn/docker/compose/releases/download/1.29.2/docker-compose-Windows-x86_64.exe