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 安装要开启虚拟化docker 安装要开启虚拟化

步骤 3:

安装 docker toolbox。

步骤 4:

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

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

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

docker versiondocker version

2

这里说几个注意事项。

事项 1:

虚拟机报错。

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

 The virtual machine 'default' has terminated unexpectedly during startup

这个错误一般是 virtualbox 版本不兼容的问题,单独升级 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 流程Docker Toolbox 流程

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

docker-machine create 创建多个 VMdocker-machine create 创建多个 VM

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

docker-machine 和 vagrantdocker-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 流程docker container run 流程

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

nginx 启动成功nginx 启动成功

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

猜你喜欢

转载自www.cnblogs.com/heniu/p/12913485.html