第一次装Docker别翻车

很多人第一步就放弃了,因为装软件装崩了。别慌,我带你一步步来,保证你30分钟内搞定。

Windows用户看这里

方案1:Docker Desktop(推荐)

下载地址:https://www.docker.com/products/docker-desktop

Docker Desktop是最方便的方式,包含了:

  • Docker Engine
  • Docker Compose
  • 图形化管理界面

安装步骤:

  1. 下载安装包并双击运行
  2. 勾选"Use WSL 2 instead of Hyper-V"(推荐)
  3. 点击"OK"开始安装
  4. 安装完成后重启电脑

验证安装:

打开PowerShell,输入:

docker --version

如果看到类似 Docker version 24.0.x,恭喜你,安装成功!

再输入:

docker run hello-world

看到 “Hello from Docker!” 就说明Docker能正常工作了。

方案2:使用WSL 2(进阶)

如果你用WSL 2开发,可以直接在WSL里安装Docker:

  1. 确保WSL 2已启用
  2. 在WSL 2中执行:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
  1. 启动Docker服务:
sudo service docker start

配置国内镜像加速器

重要:Docker Hub在国外,不配置镜像加速器会很慢。

  1. 打开Docker Desktop
  2. 进入设置(Settings)-> Docker Engine
  3. 添加以下配置:
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com"
  ]
}
  1. 点击"Apply & Restart"

Mac用户看这里

方案1:Docker Desktop for Mac(推荐)

下载地址:https://www.docker.com/products/docker-desktop

安装步骤:

  1. 下载.dmg文件并双击
  2. 把Docker拖到Applications文件夹
  3. 打开Docker Desktop
  4. 输入管理员密码

验证安装:

docker --version
docker run hello-world

方案2:Homebrew安装(开发者首选)

# 安装Docker Desktop
brew install --cask docker

或者直接用命令行安装Docker Engine:

brew install docker
brew install docker-compose

配置国内镜像加速器

  1. 打开Docker Desktop
  2. 进入Preferences -> Docker Engine
  3. 添加镜像配置:
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com"
  ]
}
  1. 点击"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
# 报错

解决

  1. 查看日志:
sudo journalctl -xe -u docker.service
  1. 常见原因:
  • 端口被占用:检查2375/2376端口
  • 配置错误:检查daemon.json语法
  • 权限问题:检查/var/run/docker.sock权限

问题2:拉取镜像超时

原因:Docker Hub访问慢

解决:配置国内镜像加速器(见上面的配置步骤)

问题3:容器无法访问网络

Windows

  1. 打开Docker Desktop
  2. 设置 -> Resources -> Network
  3. 切换DNS服务器为自动

Linux

# 修改/etc/docker/daemon.json
{
  "dns": ["8.8.8.8", "114.114.114.114"]
}

问题4:Mac上Docker占用大量内存

解决

  1. 打开Docker Desktop
  2. 进入Settings -> Resources
  3. 调整内存和CPU限制
  4. 勾选"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

推荐工具

可视化管理工具

  1. Portainer(推荐)
docker run -d -p 9000:9000 --name portainer \
  -v /var/run/docker.sock:/var/run/docker.sock \
  portainer/portainer

访问 http://localhost:9000 就能看到图形界面。

  1. 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的"蓝图"。

别给自己找借口,开始下一章吧!