Windows 系统如何安装 Docker
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:
配置加速镜像。
官方源大陆访问会比较慢, 一般需要设置成国内的镜像。
镜像加速地址可以参考这些:
- 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 的虚拟机上。
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的更多相关文章
- windows 系统下安装docker
一.介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间 ...
- windows server 2016安装docker
最近微软发布了windows server 2016,并原生支持docker,本文通过一系列的步骤,来学习怎么在windows server 2016安装docker. 1.下载 windows se ...
- windows系统上安装与使用Android NDK r5 (转)
windows系统上安装与使用Android NDK r5 很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...
- 在Windows系统中安装集成的PHP开发环境
原文:在Windows系统中安装集成的PHP开发环境 刚想学php的,又不会配置复杂php的环境,可以使用集成的,目前网上提供常用的PHP集成环境主要有AppServ.phpStudy.WAMP和XA ...
- linux/Windows系统如何安装PHP-openssl扩展
今天倒腾了半天公司的OA办公系统,原来现在很多的smtp服务器是需要ssl方式加密的,而支持ssl需要php加载openssl扩展.所以本文我们将和大家一起分享如何在linux/Windows系统下安 ...
- Redis进阶实践之三如何在Windows系统上安装安装Redis
一.Redis的简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合 ...
- windows系统dokuwiki安装部署设置 xampp环境配置
简单记录一次安装dokuwiki的过程 dokuwiki下载 dokuwiki下载地址 https://download.dokuwiki.org/ 下载前有一些可选项目,版本.语言.插件,可以按照需 ...
- Windows系统下安装zabbix客户端
简单介绍如何在windows系统下安装zabbix客户端 1. 首先下载和zabbix服务端大版本相同的windows客户端 例如我服务端安装的是zabbix-3.4.14.tar.gz ...
- Windows server 2016安装Docker EE
Windows server 2016安装Docker EE 下载 windows server 2016 180天评估版本. 地址:https://www.microsoft.com/en-us/e ...
随机推荐
- python爬虫面试题集锦及答案
1.爬取数据后使用哪个数据库存储数据的,为什么? - 2.你用过的爬虫框架或者模块有哪些?优缺点? - 3.写爬虫是用多进程好?还是多线程好? - 4.常见的反爬虫和应对方法? - 5.需要登录的网页 ...
- XSS语义分析的阶段性总结(二)
本文首发于“合天智汇”微信公众号,作者:Kale 前言 上次分享了javascript语义分析,并且简单介绍了新型xss扫描器的一些想法,如何在不进行大量fuzz的情况下又能准确的检测出xss漏洞,这 ...
- SOCKET网络基础
- java关于throw Exception的一个小秘密
目录 简介 throw小诀窍 总结 java关于throw Exception的一个小秘密 简介 之前的文章我们讲到,在stream中处理异常,需要将checked exception转换为unche ...
- Spring5参考指南:AspectJ注解
文章目录 什么是AspectJ注解 启用AOP 定义Aspect 定义Pointcut 切入点指示符(PCD) 切入点组合 Advice 访问JoinPoint Advice参数 Advice参数和泛 ...
- ElementUI表单验证攻略:解决表单项启用和禁用验证的切换,以及动态表单验证的综合性问题
试想一种比较复杂的业务场景: 表格(el-table)的每一行数据的第一列是勾选框,最后一列是输入框.当某一行的勾选框勾上时,启用该行的输入框,并开启该行输入框的表单验证:取消该行的勾选框,则禁用该行 ...
- Spark学习笔记(一)
概念: Spark是加州大学伯克利分校AMP实验室,开发的通用内存并行计算框架. 支持用scala.java和Python等语言编写应用程序.相较于Hdoop,往往有更好的运行效率. Spark包括了 ...
- Integer和int及String的总结
秉承着总结发表是最好的记忆,我把之前遇到的问题在这里总结和大家分享一下,希望大家共同进步: 一.Integer和int首先说下自动拆装箱,基本数据类型转换为包装类型的过程叫装箱,反之则是拆箱,其中最特 ...
- centos8-django项目部署 nginx+uwsgi
1.虚拟环境virtualenv安装 1.安装virtualenv pip3 install virtualenv 2.创建目录,把项目文件传过来 mkdir My cd My 3.创建独立运行环境- ...
- 看直播 csust oj
看直播 Description 小明喜欢看直播,他订阅了很多主播,主播们有固定的直播时间 [Li, Ri] . 可是他网速只有2M,不能同时播放两个直播,所以同一时间只能看一个直播. 并且他只会去看能 ...