1

docker 是基于 unix 开发的系列工具,所以在 windows 上安装 docker 非常容易出现环境不兼容的问题。

如果 windows 版本是 pro,一般是可以直接安装 docker desktop 的。

但是 windows home 版本不行。有 2 种方式解决,第一种方式是通过 docker toolbox, 第二种方式通过 wsl2。本文介绍第一种方式。

步骤 1:

下载 docker toolbox。

阿里云提供了镜像,下载会比较快,直接访问 http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ 下载。

步骤 2:

检查是否开启了 windows 的虚拟化技术。

步骤 3:

安装 docker toolbox。

步骤 4:

启动 (以管理员身份) Docker Quickstart Terminal

详细过程可以参考官方文档 Get started with Docker for Windows

当输入 docker version 出现类似这样就 OK 了。

2

这里说几个注意事项。

事项 1:

虚拟机报错。

运行时可能会出现 default 虚拟机不能启动的错误:

The virtual machine 'default' has terminated unexpectedly during startup

这个错误一般是 virtualbox 版本不兼容的问题,单独升级 virtualbox 软件可以解决。

事项 2:

配置加速镜像。

官方源大陆访问会比较慢, 一般需要设置成国内的镜像。

镜像加速地址可以参考这些:

  • https://registry.docker-cn.com
  • http://hub-mirror.c.163.com
  • https://3laho3y3.mirror.aliyuncs.com
  • http://f1361db2.m.daocloud.io
  • https://mirror.ccs.tencentyun.com

在 docker toolbox 中配置镜像:

docker-machine ssh default sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=镜像加速地址 |g" /var/lib/boot2docker/profile exit docker-machine restart default

3

接下来说一下 docker toolbox 的执行流程。

当第一次启动 Docker Quickstart Terminal 的时候,docker-machine 工具会通过 virtualbox 软件安装一个带有 docker 的虚拟机。 所以执行的 docker 指令其实不是在 windows 系统上执行,而是在 virtualbox 的虚拟机上。

实际上,我们可以通过建立多个 VM 来虚拟出多台电脑,并在不同的电脑上运行 docker。

docker-machine 只能在 virtualbox 上安装 TinyCore-based Linux 发行版,如果你想在 windows 系统上模拟服务器系统比如 centos 或者 ubuntu, 也可以绕过 docker-machine , 使用 vagrant 安装 VM。

4

运行 container.

接下来我们用 docker 去运行 nginx 服务。 因为上文我们介绍了,实际上 docker 是运行在 VM 上的,所以这里的示例我都绕开了 docker quickstart 这个工具,而是直接使用命令行。

首先,通过 docker-machine 或者 vagrant 登录 VM

docker-machine ssh default

接下来,运行 nginx

docker container run --publish 7000:80 nginx

docker 会判断 nginx 这个 image(程序) 是否存在,如果不存在会去 docker hub 下载,之后会创建 nginx 服务的一个容器。同时,会开放 default 虚拟机的 7000 端口,并且和 nginx 容器的 80 端口绑定。

接下来,我们可以通过在虚拟机上用 ifconfig 得到 IP 地址,然后通过在本机浏览器输入 vm_ip:port 的方式查看 nginx:

更多文章请关注公号:雨哥写 python.

10 windows 启动虚拟机报错_Windows 系统如何安装 Docker相关推荐

  1. 10 windows 启动虚拟机报错_VirtualBox5.0安装Windows10虚拟机启动失败

    环境: VirtualBox5.0 Windows10虚拟机 描述: 创建完虚拟机之后启动报错 已经开启intel虚拟设备,并且CPU个数设置为1了,还是启动失败!网上很多人说5.0有BUG不知道怎么 ...

  2. 启动虚拟机报错VMware Workstation cannot connect to the virtual machine

    启动虚拟机报错: VMware Workstation cannot connect to the virtual machine. Make sure you have rights to run ...

  3. VMware安装、启动虚拟机报错:无法打开内核设备“\\.\VMCIDev\VMX”: 操作成功完成。是否在安装 VMware Workstation 后重新引导?

    VMware安装.启动虚拟机报错:无法打开内核设备"\\.\VMCIDev\VMX": 操作成功完成.是否在安装 VMware Workstation 后重新引导? 解决步骤: 一 ...

  4. vmware启动虚拟机报错:Please make sure that the kernel module `vmmon‘ is loaded.

    vmware启动虚拟机报错 报错信息 Could not open /dev/vmmon: ?????????. Please make sure that the kernel module `vm ...

  5. Linux运维问题解决(3)——VMware启动虚拟机报错 : 该虚拟机似乎正在使用中。如果该虚拟机未在使用,请按“获取(T)

    问题描述: VMware开机一段时间,或者宿主机非正常关闭之后,再启动虚拟机里的机器时,就会报这个错误,报错如下: 原因一: 宿主机上两个Vmware进程并行,第一个进程的虚拟机正在运行,导致第二个进 ...

  6. win10 VMware启动虚拟机 报错hyper-v or device/credential guard enabled (76918)

    @[TOC](VMware 报错hyper-v or device/credential guard enabled (76918)) 问题 VMware 启动装好的虚拟机时报错:Error : Yo ...

  7. eclipse中启动tomcat报错:系统找不到指定路径

    C:\Program Files\Apache Software Foundation\Tomcat 9.0\backup\catalina.policy (系统找不到指定路径)- 找了小半天,网上都 ...

  8. 启动visdom报错,系统找不到指定的路径

    在启动visdom的时候报错如下 Traceback (most recent call last):File "D:\Anaconda\envs\pytorchenv\lib\runpy. ...

  9. VMware启动虚拟机报错:无法连接MKD:套接字连接尝试次数太多;正在放弃。

    VMware在启动虚拟机时报如下错误: 解决办法:右击计算机-->管理-->服务和应用程序-->服务 启动这几个服务即可.

最新文章

  1. chrome 窗体高度_Chrome窗口大小自定义调节插件下载_Chrome窗口大小自定义调节插件官方下载-太平洋下载中心...
  2. 和linux关系_Linux内核Page Cache和Buffer Cache关系及演化历史
  3. [linux] SIGPIPE信号处理
  4. 在线催稿:当一位高级视频算法工程师接受采访
  5. Codeforces Round #700 (Div. 2)A~D2解题报告
  6. gsm模块网站服务器,gsm模块是什么_gsm模块工作原理_gsm模块的应用
  7. Modelsim-Altera仿真设置
  8. notepad++ :正则表达式系统教程(zz)
  9. 代码规范以及单元测试项目
  10. 系统动力学软件vensim学习之一阶负反馈
  11. win10怎么更新显卡驱动_更新Win10设备驱动程序的4种方法,方便实用,你知道几种...
  12. TimesTen 介绍
  13. c++ 开根号程序 算法实现 C++函数同时返回两个值
  14. 【JTAG、SBW、BSL】MSP430的BSL
  15. 天津理工大学2018年计算机硕士真题
  16. 一周玩转示波器(六)
  17. 解决 command not found: brew :Mac安装Brew
  18. 写出高斯定理的数学形式并文字解释
  19. 滴滴社招三面(已拿offer)
  20. IEEE系列期刊模板

热门文章

  1. docker centos7_centos7-yum部署docker
  2. 帝国cms怎么增加php,帝国CMS增加系统配置字段
  3. 内联函数有什么优点?内联函数与宏定义的区别?
  4. containers文件夹可以删除吗_iOS14描述文件可以删除吗?iPhone删除iOS14描述文件方法...
  5. 计算机专业c语言题库,计算机专业C语言考试题.doc
  6. jsp mysql 分页插件_知识分享:Mybatis框架如何使用分页插件呢?
  7. webpack 配置react-router 服务,及react-router浅析
  8. linux 光盘yum源搭建
  9. chromedriver与chrome版本映射表
  10. PHP使用swoole来实现实时异步任务队列