说明
- Windows Server 从2016开始就已经支持Docker容器,这里以最新的2019作为演示,仅供参考
- 系统镜像cn_windows_server_2019_x64_dvd_4de40f33.iso
- Docker版本
18.09.7
- 参考文档部署容器主机
安装操作系统
这里为了节省资源,没有选择桌面体验
可以自己根据需求选择对应的操作系统版本
安装Docker
在powershell或者cmd里面运行命令,打开服务器配置界面
1 | sconfig.cmd |
界面示意图
服务器配置
可以根据需要修改对应的配置,这里只做以下几项
网络设置
,配置网络,安装docker需要访问公网- 配置IP地址
- 配置网关
- 配置DNS
Windows 更新设置
,安装docker前需要更新Windows- 修改为
手动更新
- 选择
下载并安装更新
- 在弹出命令窗口里面选择
搜索所有的更新
- 选择
安装所有更新
- 安装完成之后重启系统
- 修改为
启用Hyper-V和Containers功能
运行管理员权限powershell
1 | Install-WindowsFeature -Name Hyper-V,Containers -IncludeAllSubFeature -IncludeManagementTools -Verbose |
安装完成之后重启操作系统
配置安装源
运行管理员权限powershell
1 | Install-Module -Name DockerMsftProvider -Repository PSGallery -Verbose |
安装Docker
运行管理员权限powershell,国内安装可能会因为网络原因失败,可以尝试手动安装
1 | Install-Package -Name docker -ProviderName DockerMsftProvider -Verbose |
手动安装Docker
运行管理员权限powershell
- 下载docker压缩包
1 | Invoke-WebRequest -UseBasicParsing -OutFile C:\docker-18.09.7.zip https://download.docker.com/components/engine/windows-server/18.09/docker-18.09.7.zip |
- 解压
1 | Expand-Archive C:\docker-18.09.7.zip -DestinationPath $Env:ProgramFiles -Force |
- 删除压缩包
1 | Remove-Item -Force C:\docker-18.09.7.zip |
- 为当前会话添加PATH变量
1 | $env:path += ";$env:ProgramFiles\docker" |
- 配置新的PATH变量
1 | $newPath = "$env:ProgramFiles\docker;" + [System.Environment]::GetEnvironmentVariable("PATH", [System.EnvironmentVariableTarget]::Machine) |
- 将系统PATH变量替换为新的PATH变量
1 | [System.Environment]::SetEnvironmentVariable("PATH", $newPath, [System.EnvironmentVariableTarget]::Machine) |
- 注册为系统服务
1 | dockerd --register-service |
- 设置Docker开机启动
1 | Set-Service -Name docker -StartupType Automatic |
- 启动Docker
1 | Start-Service docker |
验证Docker
1 | docker container run hello-world:nanoserver |
配置Docker
在微软的官方网站上是有相关文档的
配置文件路径
C:\ProgramData\Docker\config\daemon.json
配置文件模板
1 | { |
启用Linux容器支持
目前Windows的container只支持Windows程序,运行Linux容器需要使用Hyper-V运行容器
参考文献Getting started with Linux Containers on Windows Server 2019