【docker】win10下安装docker环境
1.什么是docker?Docker 利用 Linux 核心中的资源分脱机制,例如 cgroups ,以及 Linux 核心名字空间,来创建独立的软件容器。这可以在单一 Linux 实体下运作,避免启动一个虚拟机造成的额外负担。Linux 核心对名字空间的支持完全隔离了工作环境中应用程序的视野,包括进程树、网络、用户 ID 与挂载文件系统,而核心的 cgroup 提供资源隔离,包括 CPU 、..
1.什么是docker?
Docker 利用 Linux 核心中的资源分脱机制,例如 cgroups ,以及 Linux 核心名字空间,来创建独立的软件容器。这可以在单一 Linux 实体下运作,避免启动一个虚拟机造成的额外负担。Linux 核心对名字空间的支持完全隔离了工作环境中应用程序的视野,包括进程树、网络、用户 ID 与挂载文件系统,而核心的 cgroup 提供资源隔离,包括 CPU 、存储器、block I/O 与网络。
Dockers 是有能力打包应用程序及其虚拟容器,可以在任何 Linux 服务器上运行的依赖性工具,这有助于实现灵活性和便携性,应用程序在任何地方都可以运行,无论是公有云、私有云、单机等。
docker 解决了哪些痛点:
1.简化环境管理
传统的软件开发与发布环境复杂,配置繁琐,经常有读者在微信上问:我的代码开发环境可以运行,一旦部署到服务器上就运行不了了。这个问题很常见,也确实很烦人,但是问题总要解决,开发环境、测试环境、生产环境,每个环节都有可能出现这样那样的问题,如果能够在各个环境中实现一键部署,就会方便很多,例如一键安装 linux 、一键安装 mysql、一键安装 nginx 等,docker 彻底解决了这个问题。
2.虚拟化更加轻量级
说到容器,说到虚拟化,很多人总会想到虚拟机,想到 VMware、VirtualBox 等工具,不同于这些虚拟技术,docker 虚拟化更加轻量级,传统的虚拟机都是先虚拟出一个操作系统,然后在操作系统上完成各种各样的配置,这样并不能充分的利用物理机的性能,docker 则是一种操作系统级别的虚拟技术,它运行在操作系统之上的用户空间,所有的容器都共用一个系统内核甚至公共库,容器引擎提供了进程级别的隔离,让每个容器都像运行在单独的系统之上,但是又能够共享很多底层资源。因此 docker 更为轻量、快速和易于管理。
这里笔者借用一张图片对比一下docker和虚拟机之间的区别:
2.docker环境搭建
笔者电脑的系统为Win10教育版,而docker需要Win10专业版,因此需要转换一下系统的版本,这里借鉴一下网上的经验,如果您的电脑已经是win10专业版,请跳过此步:
打开windows powershell,依次执行以下的指令:
slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX
slmgr /skms zh.us.to
slmgr /ato
检查是否成功可以看一下:
ok,系统的问题解决了,下面的一个问题就是确认Hyper-V是否打开,一般win10专业版是打开了的,但是由于笔者是转换的,这里再去确认一下:打开控制面板->程序与功能->启用或关闭Windows功能。
选中Hyper-V后,确定后重启即可。
3.下载并安装docker
最新版 Toolbox 下载地址: https://www.docker.com/get-docker。点击 Download Desktop and Take a Tutorial,并下载 Windows 的版本:
如果你还没有登录,会要求注册登录:
有时官网会有点慢,可以在http://get.daocloud.io/#install-docker-for-mac-windows,下载安装包:
这里,注意,不是仅仅win10才可以安装docker,如果您的系统是版本过旧,可以使用 Docker Toolbox 在Windows或者Mac上运行Docker。适用于Mac OS X 10.8+ 或者 Windows 7/8.1。
4.运行hello world
此时,输入测试命令:
docker run hello-world
笔者在第一次尝试时,出现过下面的错误:
net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
原因是国内下载官方镜像点提供的镜像时,速度缓慢,超时。使用加速器就可以解决这个问题。
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn"
],
"insecure-registries": []
}
提示:开启hyper-v之后,系统启用了虚拟化层,所以物理机OS和虚机OS处于平级,因此,物理机可能会变慢很多。这时,你在任务管理器里看到的CPU使用率不过是物理机OS这台“虚机”自己的负载,如果想了解真实物理主机全部的CPU负载使用率,需要用性能监视器来看,找到hyper-v logical processor这个计数器里,然后选择total run time即可。
dorcker官方网站: https://docs.docker.com/get-started/
更多推荐
所有评论(0)