加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Windows nanooserver可以在Linux docker中运行吗?

发布时间:2020-12-13 23:58:51 所属栏目:Windows 来源:网络整理
导读:https://msdn.microsoft.com/en-us/virtualization/windowscontainers/deployment/deployment_nano讨论在Windows下运行nanoserver docker镜像: docker pull microsoft/nanoserver 这是否意味着我们应该能够在Docker运行的任何地方运行nanoserver(例如Linux)
https://msdn.microsoft.com/en-us/virtualization/windowscontainers/deployment/deployment_nano讨论在Windows下运行nanoserver docker镜像:

docker pull microsoft/nanoserver

这是否意味着我们应该能够在Docker运行的任何地方运行nanoserver(例如Linux)?

容器在共享操作系统上提供进程隔离,而不是在VM上共享硬件上的操作系统隔离.由于OS是共享的,因此主机OS需要能够运行所需的二进制文件.您将在docker引擎的体系结构和要运行的映像的体系结构中看到这一点,它们必须兼容:
$docker system info --format '{{.OSType}} {{.Architecture}}'
linux x86_64

$docker image inspect busybox --format '{{.Os}} {{.Architecture}}'
linux amd64

如果您尝试运行与主机不兼容的体系结构,则会出现错误,因为内核无法识别二进制格式:

$docker image pull --platform arm64 busybox:latest
latest: Pulling from library/busybox
acafde7ce2e7: Pull complete
Digest: sha256:2a03a6059f21e150ae84b0973863609494aad70f0a80eaeb64bddd8d92465812
Status: Downloaded newer image for busybox:latest

$docker run -it --rm busybox:latest echo hello
standard_init_linux.go:190: exec user process caused "no such file or directory"

Docker的桌面版本和Docker的Windows Server版本包括一个运行Linux容器的Linux VM(Linux容器是主要的容器环境,所以Docker使用Linuxkit实现这一点,以简化开发人员的工作流程).对于Windows,引擎中有一个开关用于使用Linux VM或运行本机Windows容器.

但是,Docker没有用于Windows的嵌入式VM在Linux主机上运行其二进制文件(因为Windows不是开源的并且需要许可),因此运行Windows本机容器的唯一方法是在Windows主机上.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读