本教程的前七篇文章:
- Docker 实战教程之从入门到提高 (一)
- Docker 实战教程之从入门到提高 (二)
- Docker 实战教程之从入门到提高 (三)
- Docker 实战教程之从入门到提高 (四)
- Docker 实战教程之从入门到提高 (五)
- Docker 实战教程之从入门到提高 (六)
- Docker 实战教程之从入门到提高 (七)
- Docker 实战教程之从入门到提高 (八)
以及通过这篇文章的介绍,我们深入学习了 Docker 技术的三大要点。
从本文开始,我们将分享一些在 Windows 操作系统下的 Docker 实战演练。
练习1:如何在 Windows 操作系统下使用 Docker 运行一个 Web 应用
本教程之前的文章,介绍的步骤全是在 Ubuntu 操作系统下使用 Docker 的步骤。本练习方便那些使用 Windows 操作系统的学习者,了解如何在 Windows 操作系统下使用 Docker.
这里的 Windows 特指 Windows 10.
Windows 操作系统使用 Docker 的前提是要开启 Hyper V
虚拟技术,在控制面板里把Hyper-V
前面的勾选中,重启即可。
Docker 官网下载 Docker For Windows 的 Community 版本:
下载下来是一个 900 多兆的可执行文件:
安装后,在右下角任务栏里能看到 Docker 的图标:
安装默认会把 Docker 命令行工具 docker.exe 和容器编排工具 docker-compose.exe 安装到 Program Files 的 Docker 文件夹内:
右键可以使用 GUI 的方式来管理:
但我们一般情况下还是更习惯于使用命令行工具 docker.exe
对各种容器镜像进行操作。
笔者已经事先开发好了一个 SAP UI5 应用,将其部署并运行在 Nginx 服务器上,并且把该应用和 Nginx 服务器一起打包在一个容器镜像内,并发布到 Docker Hub 上了,该镜像名称如下:
命令行里直接运行这个镜像即可:
docker run i042416/ui5-nginx:v2.0
从命令打印日志能看出,因为我的本地环境没有这个名为 i042416/ui5-nginx
,标签为 v2.0的镜像,因此首先会自动从 Docker Hub 将镜像下载到本地。
之后使用 docker images
命令就能看到这个成功下载到本地的镜像了,大小约为 109MB:
现在使用如下的命令行启动一个容器:
docker run -d -p 1080:80 --name jerrynginx i042416/ui5-nginx:v2.0
各参数含义如下:
-d: 以后台模式启动容器,返回其 ID.
-p: 将容器内部 Nginx 开放的端口 80 映射到宿主机端口 1080,这样宿主机即 Windows 环境下通过浏览器输入 localhost:1080
访问该容器。
–name: 给启动的容器实例取一个名字。
执行完命令行之后,浏览器输入如下 url,即可访问到运行在容器内的 Nginx 之上的 SAP UI5 应用:
docker ps 命令,能看到这个处于运行状态的容器实例:
docker inspect jerrynginx
能查看明细:
在 Windows Docker Desktop 的 Dashboard 菜单里能观察到这个名为 jerrynginx,处于后台运行状态下的容器实例:
该 Dashboard 提供了针对运行时容器实例的一些基础操作,比如查看日志:
以及登入容器实例内部,以交互式方式执行命令行等功能。这些功能均对应有 Docker 命令行工具的实现,可以根据喜好来选择使用。
练习2:Windows 10 启动 Docker Desktop 时出现 WSL 2 installation is incomplete 的错误消息
我的 Windows10 操作系统,安装完 Docker Desktop,启动后出现下面的提示窗口:
WSL 2 installation is incomplete
把这个 WSL2 Linux kernel update package for x64 machines 升级包安装之后,Docker desktop 就能顺利启动了: