当前位置:   article > 正文

Windows Server 2022 安装配置——安装 Docker_windows server 2022 安装docker

windows server 2022 安装docker

Docker是一种容器化平台,用于开发、部署和运行应用程序。它采用容器技术,允许你将应用程序及其依赖项打包到一个可移植的容器中,这个容器可以在不同的环境中运行,而不需要担心依赖问题或环境差异。

且windows server 2022 已经支持 wsl2 了,可以将 wsl2 设为默认版本。

安装基础

确认系统要求

确保安装的 Windows Server 2022 系统满足 Docker 的最低系统要求。博主安装的 Windows Server 2022 版本为Windows Server 2022 Datacenter

安装 windows server 2022 系统后最好先将系统进行更新。网卡驱动安装可以参考上一篇文章Windows server 2022安装配置——网卡驱动配置

开启 Hyper-V 服务

Windows server 系统默认是禁用该功能的,开启方式如下:

  1. 打开【服务器管理器】,在【仪表板】选择【添加角色和功能】
  2. 下一步跳到【服务器角色】勾选上【Hyper-V】
  3. 在【功能】中勾选【容器】
  4. 在【确认】中点击【安装】,安装完成后重启系统

也可以通过命令开启,需要在管理员权限下运行。

安装 Hyper-V 命令

复制代码
Install-WindowsFeature -Name Hyper-V
  • 1
  • 2

安装容器功能命令

复制代码
Install-WindowsFeature -Name containers
  • 1
  • 2

重启命令

复制代码
Restart-computer
  • 1
  • 2

安装 Docker

安装 docker ce 版本

PowerShell
复制代码
Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1" -o install-docker-ce.ps1
.\install-docker-ce.ps1
  • 1
  • 2
  • 3
  • 4

查看 docker 安装版本,出现版本信息表示已经安装成功

bash
复制代码
docker version
  • 1
  • 2
  • 3

【可选】还可以安装 docker-compose,极大可能因网络问题下载失败,可以尝试手动下载

PowerShell
复制代码
Invoke-WebRequest -UseBasicParsing "https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-windows-x86_64.exe" -o $Env:ProgramFiles\docker\docker-compose.exe

docker-compose --version
  • 1
  • 2
  • 3
  • 4
  • 5

重启系统

bash
复制代码
Restart-Computer -Force # 手动重启也行
  • 1
  • 2
  • 3

安装可视化 UI

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

bash
复制代码
docker run -d --name portainer --restart always -p 9000:9000 -v \.\pipe\docker_engine:\.\pipe\docker_engine portainer/portainer
  • 1
  • 2
  • 3

切换内核

通过指令安装好 docker,此时 docker 运行在 windows 内核下,可以运行windows内核的容器,但是是不能加载 Linux 内核容器的,如果此时run一个linux内核的容器会出现no matching manifest for windows/amd64错误。

如果你需要运行 Linux 内核的容器即需要将 docker 的内核切换成 linux。但这里极其不友好,由于 windows server 安装的 docker 版本没有 Desktop,官方文档给的指导中又不存在 dockercli 指令,踩坑无数,现记录如下。

若是看官着急寻找方案,可直接跳至下文的解决方案继续阅读。

![[imgs/docker的wndows内核.png]]

擦坑记录——该操作方案可能过时

指令切换方案

官方文档中提到使用$Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchDaemon .命令切换 docker 内核,但并不存在该路径和 DockerCli 文件,

Windows server 2019 之前的切换指令:

css
复制代码
[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "1", "Machine")
Restart-Service Docker
  • 1
  • 2
  • 3
  • 4

指令切换回 windows 内核:

csharp
复制代码
[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", $null, "Machine")
Restart-Service Docker
  • 1
  • 2
  • 3
  • 4

实际切换均无效

lcow 方案

Github 地址:github.com/linuxkit/lc…

但该方案已经不再支持。

image.png

WSL 安装 Docker

既然已经安装的 WSL,那就可以在 linux 子系统中直接安装 docker 使用。

  1. 安装 WSL

该指令只支持 windows server 2022 版本,2019 及以下是不支持的,但可采用手动安装方式安装。

powershell
复制代码
wsl --install
  • 1
  • 2
  • 3

若是指令只出现 howto 帮助信息,也采用手动安装方式吧。

具体可以参考上一篇文章Windows Server 2022 安装 WSL 子系统

  1. 更新 apt 索引
bash
复制代码
sudo apt-get update
  • 1
  • 2
  • 3
  1. 安装必须的功能
bash
复制代码
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  1. 添加 Docker 的官方 GPG 密钥
bash
复制代码
# 创建存放文件夹
sudo mkdir -p /etc/apt/keyrings
# curl下载密钥,并存放至刚创建的文件夹下
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  1. 设置存储库
bash
复制代码
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • 1
  • 2
  • 3
  • 4
  • 5
  1. 更新 apt 索引,并安装 docker
bash
复制代码
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  • 1
  • 2
  • 3
  • 4
  1. 启动 docker,并测试 docker 版本

出现 docker 版本信息表示已经安装成功啦

bash
复制代码
sudo service docker start
sudo docker version
  • 1
  • 2
  • 3
  • 4

此时就可以在windows server 2022上同时运行linux内核或windows内核的容器了。

博主最终效果如下图:

image.png

这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!

CSDN大礼包:全网最全《全套Python学习资料》免费分享
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/171632

推荐阅读
相关标签