有时候,当我们的项目必须要在win系统下跑,并且开发环境相对复杂(难以重新配置到新设备),这个时候其实可以用docker拉取win的镜像,配置好一个镜像后,就可以一劳永逸。

windows10以上系统和Windows server的安装docker和拉取镜像有所不同,具体可以参考:

Windows 容器文档 | Microsoft Learn

前提:

安装好docker后,控制台输入指令:docker version 即可查看本地机器和服务机器的系统版本,如果两者的版本都是windows(如图1),那就可以下一步。

图1 windows server 2016系统的服务器

拉取python-windows镜像:

往往我们想要的镜像,在docker hub上都已经有人做好了,我们可以拉取下来,自己再改改就可以了。依python为例,在Docker Hub上搜索python,如图2,点第一个。

图2 docker hub搜索python

进去之后,点击Overview,往下拉可以看到Dockerfile制作镜像的方法(图3);点击Tags,可以看到很多版本,但是都是linux系统的(图4)。

图3 Dockerfile for python

图4  python-linux镜像

回到Overview,往下拉,可以找到python:<version>-windowsservercore(如图5),这里有介绍,这个版本的镜像是基于 Windows Server Core的,并且可以运行在win10和win server 2016上。只需要将图3的python版本换成这里的windowsserver版本就行了(没试过应该是docker pull python:3.8-windowsservercore或者在Dockerfile里FROM python:3.8-windowsservercore)。

图5 python:<version>-windowsservercore

拉取windows server  core基础镜像:

可能你的需求不是python+win,那么,你可以在windows server  core基础镜像的基础上安装你的软件包。打开  Windows Server Core,可以看到有很多版本(图6 图7)。

图6

图7

重点来了:比如我在我的windows server 2016上,pwoershell中输入,如图8。

docker pull mcr.microsoft.com/windows/servercore:ltsc2022

会报错:

no matching manifest for windows/amd64 10.0.14393 in the manifest list entries

图8 拉取镜像报错

这是因为我们下载的版本和我们电脑的win版本不一致导致的。那么你可能要问了,我该怎么拉取和我电脑对应版本的镜像呢?

解决方法:打开  Windows Server Core,往下翻,我们可以看到一个表格,这个表格对应了很多版本(图9)。

图 9

图8报错的信息中有告知,我的windows server 2016的系统版本10.0.14393,对应的镜像版本是ltsc2016,这时候我们

docker pull mcr.microsoft.com/windows/servercore:ltsc2016

就可以拉取成功了。再不行就换ltsc2016-amd64,具体和ltsc2016有什么区别,有知道的可以评论区回答一下。

如果你是windows10系统或者别的系统,可以在图7跳转,找到自己的版本拉取。

win系统拉取win镜像不成功的大部分原因就是版本没有对齐。

Docker: windows下跑windows镜像相关推荐

  1. Docker容器之Docker Toolbox下配置国内镜像源-阿里云加速器(Windows)

    参考别人配置的网站:https://www.imooc.com/article/48684 阿里云配置文档(要登录, 且开通容器服务器):https://cr.console.aliyun.com/c ...

  2. Windows下更改pip镜像源

    其实学习是一个逐步探索的过程.今天因为把带有中文的Python安装路径给改了,结果带来很大的麻烦,导致在命令行输入vietualenv和其他一些第三方模块都出现Fatal error in launc ...

  3. windows下maven打包镜像并推送docker服务器

    1.修改docker服务器配置文件 vim /usr/lib/systemd/system/docker.service 将ExecStart这一行后面加上 -H tcp://0.0.0.0:2375 ...

  4. windows下composer中文镜像配置

    有两种方式启用本镜像服务: 将以下配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置).见"例1" 将以下配置信息添加到你的项目的 compos ...

  5. windows下合并iso镜像文件

    因为要刻录一张solaris光盘,现在又三个iso镜像文件 ,需要合并在一起刻录,做法是: 运行输入cmd,进入存放iso镜像文件的相应文件目录,输入以下命令 copy  /b   a.iso+b.i ...

  6. Windows下跑Android Studio模拟器无法运行的问题解决

    问题描述 打开模拟器弹出 Could not start AVD 点击troubleshoot弹出 Enable VT-x in your BIOS security settings ... 问题解 ...

  7. windows下WNMP(windows+nginx+mysql+php)配置

    1.下载 NGINX-1.8.0官网下载: http://nginx.org/en/download.html PHP5.6.15版本下载地址: http://windows.php.net/down ...

  8. 在python中requests模块怎么安装_Python requests模块在Windows下安装

    发现一个爬虫库太方便了,而且支持python3! 安装方法在http://docs.python-requests.org/en/latest/user/install/#install很详细 只不过 ...

  9. windows下制作linux U盘启动盘或者安装优盘(转)

    Linux发行版排行榜: http://iso.linuxquestions.org/ [方案一]:UltraISO(不推荐,在Windows下制作Windows安装盘绝佳) 用UltraISO软件打 ...

最新文章

  1. 第五课.Python函数(二)
  2. C# Linq to SQL — Group by
  3. 内存池和tcmalloc的性能比较
  4. 语音基础知识-基本语音知识,声谱图,log梅普图,MFCC,deltas详解
  5. c 程序设计语言西电科大,西安电子科技大学
  6. 大量原创视频教程分享(01)---XSL语法教程
  7. kvm Libvirt qemu-kvm虚拟主机指定固定IP
  8. 医学计算机ppt模板,计算机与医学.ppt
  9. 数控数据采集跨平台免授权扎克(mazak)西门子(Siemens)海德汉(heidenhain)广数(GSK)、凯恩帝(knd)、三菱、海德汉、兄弟、哈斯、宝元、新代、发那科(Fanuc)、华中
  10. android 飞行模式 配置 wifi可用,飞行模式下使用WiFi教程
  11. wpf 点击按钮弹出新对话框_WPF学习弹出新窗口
  12. 同一个jar包不同版本冲突解决方法
  13. 简单js模仿浏览器crtl+f功能
  14. CloudFlare域名管理系统
  15. 手机令牌 dKey M6介绍
  16. Entity Framework Core-DbContext
  17. php服务器能运行java吗_将PHP与Java服务器接口
  18. 02.Java开发环境搭建
  19. 激光三角测距原理概述
  20. 【华为OD机试真题 JAVA】用连续自然数之和来表达整数

热门文章

  1. 2012年2月12日汇报Axure RP Pro 6.5 Beta简体中文加强测试版进展
  2. jquery ready vue_JQuery、Vue等考点
  3. 卡尔曼实时检测跟踪算法(论文总结)
  4. JBPM(二)---JBPM工作流基本操作
  5. 电赛综合测评题练习(一)-(与2013年电赛综合测评要求类似)
  6. 【Unity3D软硬件】Unity3D与串口通信 SerialPort类完全教程
  7. 【eclipse中配置java】
  8. 好的阅读就是主动阅读
  9. 关于Tomcat调用Weblogic容器Ejb T3协议
  10. Matlab简易版美图秀秀(GUI界面实现)