Docker: windows下跑windows镜像

这篇具有很好参考价值的文章主要介绍了Docker: windows下跑windows镜像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

         Windows 容器文档 | Microsoft Learn

前提:

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

docker windows镜像,docker,docker,运维,容器

 图1 windows server 2016系统的服务器

拉取python-windows镜像:

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

docker windows镜像,docker,docker,运维,容器

 图2 docker hub搜索python

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

docker windows镜像,docker,docker,运维,容器

 图3 Dockerfile for python

docker windows镜像,docker,docker,运维,容器

图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)。

docker windows镜像,docker,docker,运维,容器

 图5 python:<version>-windowsservercore

拉取windows server  core基础镜像:

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

docker windows镜像,docker,docker,运维,容器

图6 

docker windows镜像,docker,docker,运维,容器

 图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

docker windows镜像,docker,docker,运维,容器

图8 拉取镜像报错

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

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

docker windows镜像,docker,docker,运维,容器

图 9

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

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

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

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

        win系统拉取win镜像不成功的大部分原因就是版本没有对齐。文章来源地址https://www.toymoban.com/news/detail-780737.html

到了这里,关于Docker: windows下跑windows镜像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【2023最新版】Win11: WSL(Ubuntu22.04)使用docker远程容器教程(Windows的Docker Desktop下载安装、迁移到非系统盘、配置国内镜像源、设置 WSL2)

    目录 一、准备工作 1. 安装WSL(适用于 Linux 的 Windows 子系统) 2. docker简介——来源chatGPT 二、Windows安装 Docker Desktop 1. 官网链接 2. 安装过程 3. 迁移到非系统盘 4. 配置国内镜像源 国内镜像 方法1——通过Docker-Desktop配置 方法2——找打daemon.json文件进行配置 三、在适用于 Wind

    2024年02月12日
    浏览(78)
  • docker 保存镜像、容器与导入镜像容器

    可以通过以下步骤将Docker镜像导出到另一台计算机上: 在本地计算机上使用以下命令将Docker镜像保存为tar文件: 其中,image-name是要导出的Docker镜像的名称。 将保存的tar文件传输到另一台计算机上,可以使用scp命令或其他文件传输工具。 在目标计算机上使用以下命令将tar文

    2024年02月13日
    浏览(41)
  • docker导出镜像、容器打镜像

    有两种方法,一种是通过容器,一种是通过镜像 1 首先使用 docker ps -a 查看本机上的所有容器 2 导出镜像 使用 docker export 命令根据容器 id 将镜像导成一个文件 上面命令执行之后,我们便可以通过 ls 命令在当前目录下发现 image.tar 3 导入镜像 使用 docker import 命令将这个镜像导

    2024年02月03日
    浏览(52)
  • Docker容器------镜像,容器基础命令

    目录  一,docker镜像  1,查看docker版本  2,获取镜像 2.1查看下载到本地的所有镜像   2.2 获取镜像信息 2.3 添加镜像标签(上传镜像到仓库)   2.4 镜像导出  2.5 镜像导入  2.6 ,删除镜像  2.7 上传镜像 ​编辑 二,docker 容器操作 1,查看容器 2,容器创建----docker create  

    2024年02月05日
    浏览(49)
  • 【Docker系列】容器基础、Docker镜像管理

    个人名片: 对人间的热爱与歌颂,可抵岁月冗长🌞 Github👨🏻‍💻:念舒_C.ying CSDN主页✏️:念舒_C.ying 个人博客🌏 :念舒_C.ying 2.1 Docker镜像查找 命令查找 docker官网查找 2.2 Docker镜像管理 拉取MySQL镜像 查看本地镜像 镜像加速(阿里云) Daocloud镜像站加速 镜像删除 2.3 容器

    2024年01月25日
    浏览(42)
  • Docker容器:docker镜像的创建及dockerfile

    创建镜像有三种方法:基于现有镜像创建、基于本地模板创建及基于dockerfile创建 1.1 启动镜像 1.2 生成新镜像 2.1 OPENVZ 下载模板 2.2 导入容器生成镜像 3.1 dockerfile结构及分层 (1)dockerfile结构大致分为4个部分 基础镜像信息 维护者信息 镜像操作指令 容器启动时执行指令 Dockerfil

    2024年02月11日
    浏览(53)
  • [Docker]二.Docker 镜像,仓库,容器介绍以及详解

    通俗来讲:镜像相当于VM虚拟机中的ios文件,容器相当于虚拟机系统,仓库相当于系统中的进程或者执行文件,容器是通过镜像创建的 Docker 镜像就是一个 Linux 的文件系统( Root FileSystem ),这个文件系统里面包含可以运行在 Linux 内核的程序以及相应的数据,这里要强调一下镜像的两

    2024年02月03日
    浏览(48)
  • docker删除镜像及容器

    清理服务器相关无用docker镜像及容器。 要删除 Docker 中的镜像,可以使用 docker rmi 命令。请注意,删除镜像前请确保不再需要它,并且已经停止了使用该镜像的所有容器。否则,需要首先删除使用该镜像的容器。 以下是删除镜像的步骤: 确定要删除的镜像的名称或 ID。可以

    2024年02月07日
    浏览(47)
  • Docker删除镜像和容器

    首先需要停止所有的容器(只停止单个时把后面的变量改为image id即可) docker stop $(docker ps -a -q) 删除所有的容器(只删除单个时把后面的变量改为image id即可) docker rm $(docker ps -a -q) 查看host中的镜像 docker images 删除指定id的镜像 docker rmi 想要删除untagged images,也就是那些id为

    2024年02月16日
    浏览(96)
  • docker 容器怎么打成镜像

    将 Docker 容器打包成镜像通常有两种方法:使用 docker commit 命令或者编写一个 Dockerfile 文件。 使用 docker commit 命令 首先,需要运行容器并在其中进行修改(例如安装新的软件或更改配置)。然后,可以使用以下命令将容器保存为镜像: 其中, CONTAINER 是要打包为镜像的容器

    2024年02月10日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包