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 的虚拟化技术。

docker 安装要开启虚拟化

步骤 3:

安装 docker toolbox。

步骤 4:

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

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

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

docker version

2

这里说几个注意事项。

事项 1:

虚拟机报错。

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

 The virtual machine 'default' has terminated unexpectedly during startup

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

virtualbox 升级

事项 2:

配置加速镜像。

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

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

在 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 的虚拟机上。

Docker Toolbox 流程

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

docker-machine create 创建多个 VM

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

docker-machine 和 vagrant

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 端口绑定。

docker container run 流程

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

nginx 启动成功

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

Windows 系统如何安装 Docker的更多相关文章

  1. windows 系统下安装docker

    一.介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间 ...

  2. windows server 2016安装docker

    最近微软发布了windows server 2016,并原生支持docker,本文通过一系列的步骤,来学习怎么在windows server 2016安装docker. 1.下载 windows se ...

  3. windows系统上安装与使用Android NDK r5 (转)

    windows系统上安装与使用Android NDK r5  很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...

  4. 在Windows系统中安装集成的PHP开发环境

    原文:在Windows系统中安装集成的PHP开发环境 刚想学php的,又不会配置复杂php的环境,可以使用集成的,目前网上提供常用的PHP集成环境主要有AppServ.phpStudy.WAMP和XA ...

  5. linux/Windows系统如何安装PHP-openssl扩展

    今天倒腾了半天公司的OA办公系统,原来现在很多的smtp服务器是需要ssl方式加密的,而支持ssl需要php加载openssl扩展.所以本文我们将和大家一起分享如何在linux/Windows系统下安 ...

  6. Redis进阶实践之三如何在Windows系统上安装安装Redis

    一.Redis的简介        Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合 ...

  7. windows系统dokuwiki安装部署设置 xampp环境配置

    简单记录一次安装dokuwiki的过程 dokuwiki下载 dokuwiki下载地址 https://download.dokuwiki.org/ 下载前有一些可选项目,版本.语言.插件,可以按照需 ...

  8. Windows系统下安装zabbix客户端

    简单介绍如何在windows系统下安装zabbix客户端 1. 首先下载和zabbix服务端大版本相同的windows客户端    例如我服务端安装的是zabbix-3.4.14.tar.gz     ...

  9. Windows server 2016安装Docker EE

    Windows server 2016安装Docker EE 下载 windows server 2016 180天评估版本. 地址:https://www.microsoft.com/en-us/e ...

随机推荐

  1. vue中使用echarts 制作某市各个街道镇的地图

    我要制作的是青州的各街道镇的地图,于是我上网搜,很感谢这篇文章的作者给的提点和帮助https://www.jianshu.com/p/7337c2f56876 现在我把自己的制作过程做个整理,以山东省 ...

  2. PHP面向对象之重写与重载

    /*** ====笔记部分==== 重写/覆盖 override 指:子类重写了父类的同名方法 重载: overload 重载是指:存在多个同名方法,但参数类型/个数不同. 传不同的参数,调用不同的方 ...

  3. python学习04数据

    #1.**幂 //返回商的整数部分x=5y=3print(x**y)print(x//y)print(5/2)#2.复数a+bjc=2+5jprint(c.real)#返回复数的实部print(c.i ...

  4. CSS样式2

    1.css重用 <style> .cl{ ... } .c2{ ... } .c{ ... } </style> <div class='c c2'></di ...

  5. mac OS mysql新建数据库运行sql文件

    mysql -uroot -proot123 进入本地数据库 create database 数据库名; use 数据库名; source 文件路径 quit 退出

  6. Boostrap Table学习笔记

    最近要对项目上的table进行调整,让表格能够支持更多的操作,于是接触到了boostrapTable这个插件.研究了一天,记录下学习的内容. Boostrap Table可以支持表的分页及动态显示表的 ...

  7. 前端程序员难翻身,没有好的学习方法,你永远无法成功,vue.js专题

    学习vue正确思路,是先学vue-cli,再学vue.js单文件引用的用法,这样会在极短时间内撤底撑握vue, 如果先学vue.js单文件用法,再去学vue-cli4,可以说是重新学vue,,,,难处 ...

  8. 图论--网络流--最大流 洛谷P4722(hlpp)

    题目描述 给定 nn 个点,mm 条有向边,给定每条边的容量,求从点 ss 到点 tt 的最大流. 输入格式 第一行包含四个正整数nn.mm.ss.tt,用空格分隔,分别表示点的个数.有向边的个数.源 ...

  9. codeforce 225B Code Parsing

      Little Vitaly loves different algorithms. Today he has invented a new algorithm just for you. Vita ...

  10. tar命令基本、进阶使用指北

    tar命令基本.进阶使用指北 摘要 打包与压缩是我们在计算机系统日常使用中必备的一个工具,就如我们在使用Windows系统,也需要类似WinRAR的压缩软件来将许多数据.文件打包成一个文件,并压缩其占 ...