03-Docker安装配置-30分钟搞定
第一次装Docker别翻车
很多人第一步就放弃了,因为装软件装崩了。别慌,我带你一步步来,保证你30分钟内搞定。
Windows用户看这里
方案1:Docker Desktop(推荐)
下载地址:https://www.docker.com/products/docker-desktop
Docker Desktop是最方便的方式,包含了:
- Docker Engine
- Docker Compose
- 图形化管理界面
安装步骤:
- 下载安装包并双击运行
- 勾选"Use WSL 2 instead of Hyper-V"(推荐)
- 点击"OK"开始安装
- 安装完成后重启电脑
验证安装:
打开PowerShell,输入:
docker --version
如果看到类似 Docker version 24.0.x,恭喜你,安装成功!
再输入:
docker run hello-world
看到 “Hello from Docker!” 就说明Docker能正常工作了。
方案2:使用WSL 2(进阶)
如果你用WSL 2开发,可以直接在WSL里安装Docker:
- 确保WSL 2已启用
- 在WSL 2中执行:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
- 启动Docker服务:
sudo service docker start
配置国内镜像加速器
重要:Docker Hub在国外,不配置镜像加速器会很慢。
- 打开Docker Desktop
- 进入设置(Settings)-> Docker Engine
- 添加以下配置:
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
]
}
- 点击"Apply & Restart"
Mac用户看这里
方案1:Docker Desktop for Mac(推荐)
下载地址:https://www.docker.com/products/docker-desktop
安装步骤:
- 下载.dmg文件并双击
- 把Docker拖到Applications文件夹
- 打开Docker Desktop
- 输入管理员密码
验证安装:
docker --version
docker run hello-world
方案2:Homebrew安装(开发者首选)
# 安装Docker Desktop
brew install --cask docker
或者直接用命令行安装Docker Engine:
brew install docker
brew install docker-compose
配置国内镜像加速器
- 打开Docker Desktop
- 进入Preferences -> Docker Engine
- 添加镜像配置:
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
]
}
- 点击"Apply & Restart"
Linux用户看这里
Ubuntu/Debian系统
# 1. 更新软件包索引
sudo apt-get update
# 2. 安装依赖
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
# 3. 添加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
# 4. 设置仓库
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
# 5. 安装Docker Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 6. 验证安装
sudo docker run hello-world
CentOS/RHEL系统
# 1. 安装yum-utils
sudo yum install -y yum-utils
# 2. 添加Docker仓库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 3. 安装Docker
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 4. 启动Docker
sudo systemctl start docker
# 5. 设置开机自启
sudo systemctl enable docker
# 6. 验证安装
sudo docker run hello-world
配置国内镜像加速器
编辑 /etc/docker/daemon.json:
sudo vim /etc/docker/daemon.json
添加以下内容:
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
]
}
重启Docker:
sudo systemctl daemon-reload
sudo systemctl restart docker
配置普通用户使用Docker(Linux)
默认情况下,普通用户执行docker命令需要sudo:
sudo docker ps # 需要sudo
添加当前用户到docker组:
# 创建docker组(如果不存在)
sudo groupadd docker
# 添加当前用户到docker组
sudo usermod -aG docker $USER
# 重新登录或执行
newgrp docker
现在不需要sudo了:
docker ps # 不需要sudo
常见问题排查
问题1:Docker服务启动失败
现象:
sudo systemctl start docker
# 报错
解决:
- 查看日志:
sudo journalctl -xe -u docker.service
- 常见原因:
- 端口被占用:检查2375/2376端口
- 配置错误:检查daemon.json语法
- 权限问题:检查/var/run/docker.sock权限
问题2:拉取镜像超时
原因:Docker Hub访问慢
解决:配置国内镜像加速器(见上面的配置步骤)
问题3:容器无法访问网络
Windows:
- 打开Docker Desktop
- 设置 -> Resources -> Network
- 切换DNS服务器为自动
Linux:
# 修改/etc/docker/daemon.json
{
"dns": ["8.8.8.8", "114.114.114.114"]
}
问题4:Mac上Docker占用大量内存
解决:
- 打开Docker Desktop
- 进入Settings -> Resources
- 调整内存和CPU限制
- 勾选"Use VM isolation mode"可以减少资源占用
安装验证检查清单
安装完对照这个检查一遍:
-
docker --version能看到版本号 -
docker run hello-world运行成功 -
docker ps能正常执行 - 拉取镜像速度正常(配置了镜像加速器)
- 容器能正常访问网络
全部打勾了?恭喜你,Docker环境配置完成了!
第一次实战
让我们运行一个真实的Web应用:
# 1. 拉取nginx镜像
docker pull nginx
# 2. 运行nginx容器
docker run -d -p 8080:80 --name my-nginx nginx
# 3. 访问
# 打开浏览器访问 http://localhost:8080
看到nginx欢迎页面,说明一切都正常!
# 4. 查看容器状态
docker ps
# 5. 查看容器日志
docker logs my-nginx
# 6. 停止容器
docker stop my-nginx
# 7. 删除容器
docker rm my-nginx
推荐工具
可视化管理工具
- Portainer(推荐)
docker run -d -p 9000:9000 --name portainer \
-v /var/run/docker.sock:/var/run/docker.sock \
portainer/portainer
访问 http://localhost:9000 就能看到图形界面。
- LazyDocker(命令行工具)
# 安装
brew install lazydocker # Mac
# 或
curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash
VS Code插件
安装Docker插件,可以:
- 查看和管理容器/镜像
- 编辑Dockerfile
- 直接运行docker-compose
下一章我们来学习镜像操作,理解Docker的"蓝图"。
别给自己找借口,开始下一章吧!