当前位置:首页 > CN2资讯 > 正文内容

windows10/2016上使用dockerwindows10 docker

2天前CN2资讯

该文章是在一个物理主机使用windows server 2016或windows 10上使用docker非hyper-v虚拟机。

首先搭建一个容器主机。


按照微软的官方文档搭建该容器主机,步骤如下:


  • 安装容器功能

    PS C:\> start-process powershell -verb runas

    PS C:\> install-windowsfeature containers

    PS C:\> shutdown -r -t 0

    PS C:\> get-containerhost

  • 启用hyper-v角色

    PS C:\> install-windowsfeature hyper-v

  • 创建虚拟交换机

    PS C:\> new-vmswitch -name "DHCP" -switchtype external(这是使用的桥接方式,还可以使用nat方式)

    PS C:\> new-vmswitch -name "virtual switch" -switchtype nat -natsubnetaddress 172.16.0.1/24

  • 如果虚拟交换机配置的是nat类型,则需要创建nat对象。

    PS C:\> new-netnat -name containernat -internalipinterfaceaddressprefix "172.16.0.1/24"

  • 安装操作系统镜像

    PS C:\> install-packageprovider containerprovider -force

    ps C:\> find-containerp_w_picpath

    ps C:\> install-containerp_w_picpath -name nanoserver

    ps C:\> install-containerp_w_picpath -name windowservercore

    安装操作系统镜像的原理是使用微软提供的BITS服务,从其网站上下载一个.wim的文件然后进行转换成该容器的镜像的方式,存放的目录默认在C:\programdata\microsoft\windows\p_w_picpath。下载的目录在C:\Windows\winsxs\

    如果找到在哪个下载地址的话请告诉我。

    ps C:\> get-containerp_w_picpath


    Name              Publisher    Version      IsOSImage

    ----              ---------    -------      ---------

    NanoServer        CN=Microsoft 10.0.10586.0 True

    WindowsServerCore CN=Microsoft 10.0.10586.0 True

  • 然后按照该文档在windows上安装docker及docker服务。

    https://msdn.microsoft.com/zh-cn/virtualization/windowscontainers/deployment/docker_windows



  • 容器主机和docker准备完以后就可以在该主机上运行容器了,一种方法是使用powershell运行一个容器,一种方法是使用docker运行容器。两种方法都差不多。具体的见如下命令。

    PS C:\> get-containerp_w_picpath

    PS C:\> new-container -name tst -containerp_w_picpathname windowsservercore

    ps c:\> add-containernetworkadapter -containername tst

    ps c:\> get-vmswitch

    ps c:\> connect-containernetworkadapter -containername tst -switchname DHCP

    ps c:\> $container=get-container -name tst(如果这里不定义改变量,则在使用该容器的时候powershell会提示字符串不合法的错误)

    ps c:\> start-container $container

    ps c:\> get-container | start-container(启动所有的容器)

    ps c:\> enter-pssession -containername tst -runasadministrator(使用powershell用户名为administrator的用户进入名为tst的容器,持久性powershell会话,还可以使用一次性操作容器)

    ps c:\> invoke-command -containername tst -scriptblock {new-item -itemtype directory -path C:\application} (该命令为一次性在tst容器中在C盘下创建一个application的目录。)

    ps c:\> stop-container $container

    ps c:\> get-container | stop-container (停止所有容器)

    ps c:\> remove-container $container -force

    ps c:\> get-container | remove-container -force


    以上命令使用powershell创建、使用、删除容器。具体的命令使用请get-help command


    由于用习惯了linux的操作,在windows上一样的喜欢使用command-line的方式。




    以下是使用docker的方式创建、使用、删除容器(具体的docker方式请help)。


    PS C:\> docker p_w_picpaths

    C:\> docker run --name iisbase -it windowsservercore cmd

    C:\> powershell.exe Install-WindowsFeature web-server

    C:\> exit

    C:\> docker commit iisbase windowsservercoreiis

    C:\> docker p_w_picpaths


    if (!(Get-NetFirewallRule | where {$_.Name -eq "TCP80"})) {

        New-NetFirewallRule -Name "TCP80" -DisplayName "HTTP on TCP/80" -Protocol tcp -LocalPort 80 -Action Allow -Enabled True

    }


    C:\> docker run --name iisdemo -it -p 80:80 windowsservercoreiis cmd


    C:\> del C:\inetpub\wwwroot\iisstart.htm


    PS C:\> docker run -p 80:80 windowsservercoreiis

    PS C:\> docker stop tender_panini

    PS C:\> docker stop $(docker ps -q)

    PS C:\> docker rm prickly_pike

    PS C:\> docker rm $(docker ps -a -q)













      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/27676.html

      分享给朋友:

      “windows10/2016上使用dockerwindows10 docker” 的相关文章

      选择美国VPS的全面指南与服务商推荐

      美国VPS概述 在全球互联网的高速发展中,虚拟专用服务器(VPS)逐渐成为了网络环境中不可或缺的一部分。我对于VPS的理解,首先是它通过虚拟化技术,将一台物理服务器划分成多个独立的虚拟服务器。用户能够拥有更高的控制权和资源管理能力。这种灵活性和独立性,使得VPS成为了许多中小型企业、开发者和个人用户...

      ChicagoVPS 测评:性能、价格与客户服务的全面分析

      在开始谈论ChicagoVPS之前,我想分享一些关于它的背景故事。ChicagoVPS成立于2010年,源于对高效和可靠的虚拟专用服务器(VPS)的需求。作为一家快速崛起的公司,它在短短几年内就积累了相当可观的用户基础。它在美国中西部的沃土上发展壮大,吸引了不少希望获得优质服务的用户。公司的愿景是提...

      BT开心版:简化Linux服务器管理的最佳工具

      BT开心版是一个强大的Linux服务器管理工具,致力于简化网站的搭建、管理和维护过程。对于那些刚接触Linux操作系统的用户来说,BT开心版的出现无疑是一大福音。它的设计理念是让每个用户无论有多少技术背景,都能高效地管理自己的网页,不必深入学习Linux系统的复杂操作。 首先,我发现BT开心版的最大...

      甲骨文云免费套餐与ARM CPU优势解析

      甲骨文云(Oracle Cloud)是一个强大的云服务平台,近年来受到了越来越多用户的关注。我自己也曾经探索过这个平台,在这里我想和大家聊聊甲骨文云的免费套餐,这对中小企业以及开发者来说真的是一个不错的选择。免费的套餐不仅简化了入门程序,也为新用户提供了足够的资源来尝试不同的云服务。 甲骨文云的免费...

      UCloud服务器性能与安全性的全面评测

      UCloud服务器概述 UCloud是一家专注于云计算服务的公司,提供多样的云服务器选项,适合不同业务需求。它不仅满足基本的计算、存储和网络功能,还在高可用性、高性能和安全性上表现出色。通过细致的产品设计,UCloud确保每一位用户都能在稳定的环境中运作,充分利用其提供的技术优势。 在使用UClou...

      主机论坛:获取信息与交流经验的最佳平台

      主机论坛概述 在当今的数字时代,主机论坛作为一个专注于域名、主机、VPS和服务器的讨论与信息交流平台,显得尤为重要。对于站长、开发者和一般用户来说,它们不仅是资讯获取的渠道,更是一个技术交流和问题解决的空间。主机论坛通过汇聚来自不同背景的用户,形成了一个活跃的社区,每个人都能找到自己感兴趣的话题,分...