之前windows系统对docker的支持是比较差的,近期又了解并尝试了一番,发现随着wsl(windows subversion of linux)项目的成熟,对docker的支持已经改善了很多。
一、docker简单介绍
docker相关的软件包括Docker Engine,Docker Desktop,Docker Compose,Docker Hub等,docker 官方文档 对每一个产品都有详细的说明,这里只做简单描述,以了解它们的区别,防止后续安装的时候混淆。
Docker Engine:一项开源的容器技术,包括以下部分
- 一个长期运行的守护进程 dockerd
- 一组和守护进程 dockerd进行交互的API接口
- 对交互API接口进一步封装的命令 docker
Docker Desktop:针对mac和windows系统开发的,用于简化docker安装的软件,Docker desktop包括了Docker Engine, Docker CLI client, Docker Compose, Notary, Kubernetes 和 Credential Helper 这一整套软件。
Docker Compose:一个容器编排软件,通过编写 docker-compose.yml 可以方便的控制、创建多个容器
Docker Hub:官方提供镜像服务器。
二、部署过程
1、确认windows 10操作系统是否满足需要
从后续的文档可以知道,x64 系统项运行WSL 2 需要操作系统内部版本>=18362
除了上面图片后面提到的执行winver命令,也可以简单的右击“此电脑”,选择“属性”,了解操作系统内部版本。
如果版本过低,可以下载 windows 10 更新助手,升级Windows版本。
2、docker client软件下载安装
到docker 官方网站下载 windows docker-client 安装包,进入安装界面后,勾选“install required Windows components for WSL 2“
3 安装WSL 2
按照步骤2安装好docker后,打开docker后,后弹出一个提示框,其中包含一个短域名链接,
打开后会跳转到 微软的一个官方文档,按照这个文档的描述,进行操作即可。
4、优化镜像下载
默认是从docker官方镜像仓库下载镜像,而官方镜像在国内速度是比较慢的,可以参考下面配置镜像加速。
三、docker问题排查
如果容器启动失败,可以通过执行以下命令,获取容器启动失败日志。
docker logs 容器id
遇到过以下问题
1、crontab文件无法安装
原因是crontab文件换行符是是Windows风格,解决办法,执行dos2unix将文件转为unix风格换行符。