Docker: windows下跑windows镜像
有时候,当我们的项目必须要在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镜像相关推荐
- Docker容器之Docker Toolbox下配置国内镜像源-阿里云加速器(Windows)
参考别人配置的网站:https://www.imooc.com/article/48684 阿里云配置文档(要登录, 且开通容器服务器):https://cr.console.aliyun.com/c ...
- Windows下更改pip镜像源
其实学习是一个逐步探索的过程.今天因为把带有中文的Python安装路径给改了,结果带来很大的麻烦,导致在命令行输入vietualenv和其他一些第三方模块都出现Fatal error in launc ...
- windows下maven打包镜像并推送docker服务器
1.修改docker服务器配置文件 vim /usr/lib/systemd/system/docker.service 将ExecStart这一行后面加上 -H tcp://0.0.0.0:2375 ...
- windows下composer中文镜像配置
有两种方式启用本镜像服务: 将以下配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置).见"例1" 将以下配置信息添加到你的项目的 compos ...
- windows下合并iso镜像文件
因为要刻录一张solaris光盘,现在又三个iso镜像文件 ,需要合并在一起刻录,做法是: 运行输入cmd,进入存放iso镜像文件的相应文件目录,输入以下命令 copy /b a.iso+b.i ...
- Windows下跑Android Studio模拟器无法运行的问题解决
问题描述 打开模拟器弹出 Could not start AVD 点击troubleshoot弹出 Enable VT-x in your BIOS security settings ... 问题解 ...
- 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 ...
- 在python中requests模块怎么安装_Python requests模块在Windows下安装
发现一个爬虫库太方便了,而且支持python3! 安装方法在http://docs.python-requests.org/en/latest/user/install/#install很详细 只不过 ...
- windows下制作linux U盘启动盘或者安装优盘(转)
Linux发行版排行榜: http://iso.linuxquestions.org/ [方案一]:UltraISO(不推荐,在Windows下制作Windows安装盘绝佳) 用UltraISO软件打 ...
最新文章
- 第五课.Python函数(二)
- C# Linq to SQL — Group by
- 内存池和tcmalloc的性能比较
- 语音基础知识-基本语音知识,声谱图,log梅普图,MFCC,deltas详解
- c 程序设计语言西电科大,西安电子科技大学
- 大量原创视频教程分享(01)---XSL语法教程
- kvm Libvirt qemu-kvm虚拟主机指定固定IP
- 医学计算机ppt模板,计算机与医学.ppt
- 数控数据采集跨平台免授权扎克(mazak)西门子(Siemens)海德汉(heidenhain)广数(GSK)、凯恩帝(knd)、三菱、海德汉、兄弟、哈斯、宝元、新代、发那科(Fanuc)、华中
- android 飞行模式 配置 wifi可用,飞行模式下使用WiFi教程
- wpf 点击按钮弹出新对话框_WPF学习弹出新窗口
- 同一个jar包不同版本冲突解决方法
- 简单js模仿浏览器crtl+f功能
- CloudFlare域名管理系统
- 手机令牌 dKey M6介绍
- Entity Framework Core-DbContext
- php服务器能运行java吗_将PHP与Java服务器接口
- 02.Java开发环境搭建
- 激光三角测距原理概述
- 【华为OD机试真题 JAVA】用连续自然数之和来表达整数