2、Docker安装与配置:在Linux/Windows/macOS上安装Docker、配置镜像加速器、验证安装
2.1 为什么安装Docker这件事值得认真对待?
说实话,我见过太多人在Docker安装这一步翻车了。不是装不上,就是装完跑不起来,最后折腾半天发现是环境没搞对。我自己刚开始接触Docker时,也曾在Windows上卡了整整一个下午——嗯,就是那个Hyper-V和WSL2的兼容性问题。
Docker的安装其实不复杂,但不同操作系统有各自的脾气。你想想看,Linux是亲儿子,Windows是养子,macOS算是半个亲戚。咱们得对症下药。
2.2 Linux上安装Docker(以Ubuntu为例)
Linux上安装Docker最省心。我个人习惯用官方脚本一键安装,干净利落。
核心步骤:
# 1. 卸载旧版本(如果有的话)
sudo apt-get remove docker docker-engine docker.io containerd runc
# 2. 更新包索引
sudo apt-get update
# 3. 安装依赖包
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
# 4. 添加Docker官方GPG密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 5. 设置稳定版仓库
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 6. 安装Docker引擎
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 7. 启动Docker并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
避坑指南:我曾经在CentOS上直接用yum安装,结果装了个老版本,后面踩了不少坑。建议始终从官方仓库安装最新稳定版。
2.3 Windows上安装Docker Desktop
Windows上的Docker安装,说白了就是两个选择:Docker Desktop或者WSL2后端。我个人推荐用Docker Desktop,省心。
| Windows版本 | 推荐方式 | 注意事项 |
|---|---|---|
| Windows 10/11 Pro/Enterprise | Docker Desktop + Hyper-V | 需要开启虚拟化 |
| Windows 10/11 Home | Docker Desktop + WSL2 | 需要安装WSL2内核 |
| Windows Server 2016/2019 | Docker EE(企业版) | 需要管理员权限 |
安装步骤其实很简单:
- 去Docker官网下载Docker Desktop for Windows
- 双击安装包,一路Next
- 安装完成后重启系统
- 启动Docker Desktop,等待引擎启动
注意:Windows Home版用户记得先安装WSL2。我遇到过有人直接装Docker Desktop,结果报错说找不到Hyper-V,其实就是没装WSL2。
2.4 macOS上安装Docker Desktop
macOS用户就简单多了。Docker Desktop for Mac是唯一官方推荐的方式。我记得第一次在Mac上装Docker时,下载完dmg文件,拖到Applications文件夹就完事了——真的就这么简单。
# 安装完成后,验证一下
docker --version
# 输出示例:Docker version 24.0.6, build ed223bc
docker-compose --version
# 输出示例:Docker Compose version v2.21.0
小技巧:macOS上如果遇到Docker Desktop启动慢,可以试试在设置里把资源限制调低一点。我一般给Docker分配4GB内存和2个CPU核心,够用了。
2.5 配置镜像加速器(国内用户必看)
为什么要配置镜像加速器?说白了,Docker默认的镜像仓库在国外,你想想看,每次pull镜像都要翻山越岭,慢得让人抓狂。我在项目中遇到过,一个几百MB的镜像,不配加速器可能要下半小时,配了之后两三分钟搞定。
国内常用的镜像加速器有:
| 服务商 | 加速器地址 | 备注 |
|---|---|---|
| 阿里云 | https://xxxxx.mirror.aliyuncs.com | 需要注册获取专属地址 |
| 腾讯云 | https://mirror.ccs.tencentyun.com | 公有可用 |
| 中科大 | https://docker.mirrors.ustc.edu.cn | 教育网速度快 |
| 网易 | http://hub-mirror.c.163.com | 稳定可靠 |
配置方法也很简单:
# Linux/macOS 配置方法
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
EOF
# 重启Docker使配置生效
sudo systemctl daemon-reload
sudo systemctl restart docker
Windows用户直接在Docker Desktop的设置里找Docker Engine,编辑JSON配置就行。
验证加速器是否生效:
docker info | grep -A 1 "Registry Mirrors"
# 输出应该显示你配置的镜像地址
2.6 验证安装是否成功
装完Docker,总得跑个Hello World验证一下吧?
# 经典测试命令
docker run hello-world
# 如果看到以下输出,说明安装成功:
# Hello from Docker!
# This message shows that your installation appears to be working correctly.
为什么会这样?因为docker run hello-world会从镜像仓库拉取一个测试镜像,然后运行它。如果整个过程顺利,说明你的Docker环境是OK的。
还可以跑个更实用的测试:
# 运行一个Nginx容器
docker run -d -p 8080:80 nginx
# 打开浏览器访问 http://localhost:8080
# 看到Nginx欢迎页面,说明一切正常
验证清单:
- docker --version 能正常输出版本号
- docker info 没有报错信息
- docker run hello-world 能正常输出
- docker ps 能列出运行中的容器
2.7 常见问题与解决方案
嗯,这里总结几个我踩过的坑:
- 权限问题:Linux上每次都要sudo?把当前用户加入docker组就行:
sudo usermod -aG docker $USER - 端口冲突:启动容器时端口被占用?换个端口或者先停掉占用端口的进程
- 磁盘空间不足:Docker默认把数据存在/var/lib/docker,时间长了会占满磁盘。我习惯用
docker system prune定期清理
最后提醒一句:安装完成后,记得检查一下Docker的日志。Windows和macOS上可以在Docker Desktop的Troubleshoot里查看,Linux上用journalctl -u docker。我曾经遇到过Docker引擎启动失败,查日志才发现是SELinux搞的鬼。
好了,安装配置这块就这些。下一步咱们就可以开始玩容器了。