window server 2019安装docker


参考资料:

https://bbs.huaweicloud.com/blogs/176232

https://www.cnblogs.com/yankliu-vip/p/Docker-on-Windows-Server-2019.html

一、联网安装

官方提供的方法

(1)步骤一:

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force 
#这一步骤是安装DockerMsftProvider模块,如没有NuGet程序,则会提示你安装,NuGet是包管理程序,这个必须要你安装,无法跳过

(2)步骤二:

Install-Package -Name docker -ProviderName DockerMsftProvider 
#利用上述安装的模块来安装docker包,这一步会下载一个docker的zip包

总结一下:按照官网这种方式来安装,首先你要安装NuGet程序,然后安装DokcerMsftProvider,最后利用DokcerMsftProvider来安装docker,这一步还是会下载docker的zip包,最最主要的就是这最后一步,前面下载程序没什么好说的,这最后一步到底干了什么?其实主要做了如下5件事情:

(1)下载docker的zip包(里面是一堆的exe程序,包含了服务端dockerd和客户端docker等一系列的docker程序)

(2)解压docker zip包到 C:\Program Files\Docker 目录,创建 C:\ProgramData\Docker\config 目录

(3)添加环境path

C:\Program Files\Docker  #将这个路径添加到系统环境变量,其实就是为了能够在 PowerShell中全局执行docker命令

(4)利用winserver的服务器管理器安装Containers(容器)功能,此功能不安装,无法启动docker服务端

(5)启动docker服务端,并将其注册为服务,这一步需要确保 C:\ProgramData\Docker\config 下具有 daemon.json 文件

OK !到这里我们清楚了,它在这个安装过程中具体干了些什么事情,那么我们还有必要安装NuGet和DokcerMsftProvider这个2玩意儿?没必要,我们完全可以自己下载docker的zip包,手动实现这些过程!当然,你要是一些列命令敲下来啪啪啪就全部安装好了,那么你也没必要看这个文章了,作者照着敲了一堆命令,不是这个程序包下不到,就是那个程序包下不到,也是头疼的很。

二、离线安装

环境要求:winserver 2019 标准版 或 winserver 2016 标准版一台

资源要求:docker离线包,本文基于docker-19-03-5.zip进行安装

docker zip包下载地址: https://dockermsft.blob.core.windows.net/dockercontainer/docker-19-03-13.zip

步骤一:

解压 docker-19-03.zip到 C:\Program Files\Docker 下,其中Docker目录需要手动创建

步骤二:

创建 C:\ProgramData\Docker\config 目录,在config目录下创建 daemon.json 文件,其内容可为
{
"insecure-registries":["192.168.1.135:5000"]
}
作者在此处加了一个本地的镜像仓库,请根据实际情况修改,为空也可以。

步骤三:

添加系统环境path环境变量:我的电脑 > 属性 > 高级系统设置 > 环境变量 > 新建

步骤四:将dockerd注册为服务

以管理员身份进入CMD执行如下指令:

cd C:\Program Files\Docker  # 进入dockerd.exe所在目录路径
dockerd --register-service  # 将dockerd 注册为服务

步骤五:安装Containers功能,安装需要重启

 步骤六:开始玩docker

三、在window docker中运行linux容器

Windows上的Docker只运行Windows容器,要在Windows Server上使用Linux容器,需要使用Docker Enterprise Edition Preview,其中包含用于运行Docker Linux容器的完整LinuxKit系统。

 启用LinuxKit系统以运行Linux容器

步骤一:

# Set LCOW_SUPPORTED Variable to 1 for enabled
# powershell执行以下命令
[Environment]::SetEnvironmentVariable(
"LCOW_SUPPORTED", "1", "Machine")

步骤二:

# Enable Experimental Features in Dockerd daemon.conf
# powershell执行以下命令
$configfile
= @" { "experimental": true } "@

$configfile|Out-File -FilePath C:\ProgramData\docker\config\daemon.json -Encoding ascii -Force

步骤三:

在Docker使用 Linux Container时,仍然需要使用Linux kernal。

You should use the latest LCOW release here

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\."    # 解压

举例:

Redis on Docker Linux Container#

现在我们即可使用 Windows Container或者Linux Container,但是由于目前基于Windows Container只能运行Windows应用程序,所以我们需要使用--platform选择一种容器类型,参考如下

docker run --platform=linux --name redis-server -d -p 6379:6379 --restart=always redis

References

  1. Posted on February 12, 2019 by Ben Thomas,Getting started with Linux Containers on Windows Server 2019
  2. November 16, 2018 by Andy Syrewicze (Chief Editor)
    ,How to Run 🐧 Linux Containers on Windows Server 2019
  3. posted @ 2017-02-10 11:40 北京的201个蓝天,Windows Container 和 Docker:你需要知道的5件事

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM