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.
最新文章
- 正确获取访问者ip
- 第一章 Linux內核簡介
- 有关于java反编译工具的使用
- vbox下Oracle Enterprise liunx5.4虚拟机安装10G RAC实验(一)
- IOS第八天(4:UITableViewController新浪微博, 代码创建布局和数据转模型)
- lab 7 函数超级多的类
- 【JavaScript】字符串处理函数集合
- iostat命令简单说说
- Android开发之启动Activity的最佳写法
- bzoj2243 sdoi2011 染色 paint
- Linux磁盘分区实战案例
- 使用GCM服务(Google Cloud Messaging)实现Android消息推送
- C# 单向链表数据结构 (一)
- iOS中如何呼出另一个应用
- find 路径必须在表达式之前
- python3 生成器和生成器表达式
- RHEL7防火墙策略设置
- 将数组,矩阵存入csv文件中
- tkinter widget
- 【教程向】——基于hexo+github搭建私人博客
热门文章
- Java中StringBuffer类
- jQuery的attr和prop属性
- C/C++,被誉为“最经典的编程语言”,不仅是因为编程入门需要学?
- c++<;ctime>;中常用函数
- 用python把技术文档中,每个模块系列截图生成一个动态GIF
- Akka 集群单例Cluster Singleton
- Springboot中,Tomcat启动war包的流程
- HTML中使用CSS样式(上)
- Mark一篇介绍Java垃圾回收和JVM参数设置的文章
- POJ 1170 Shopping Offers非状态压缩做法