docker教程



详情请参考docker快速入门官方文档


使用 apt 存储库安装

在新主机上首次安装 Docker Engine 之前,需要设置 Docker 存储库。之后,您可以从存储库安装和更新 Docker。

  1. 设置 Docker 的 apt 存储库

    # Add Docker's official GPG key:
    sudo apt-get update
    sudo apt-get install ca-certificates curl gnupg
    sudo install -m 0755 -d /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    sudo chmod a+r /etc/apt/keyrings/docker.gpg
    
    # Add the repository to Apt sources:
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
      $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update

    Note
    如果您使用 Ubuntu 衍生发行版,例如 Linux Mint,您可能需要 UBUNTU_CODENAME 使用 VERSION_CODENAME.

  2. 安装 Docker 软件包
    要安装最新版本,请运行:
    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

  3. 通过运行镜像来验证Docker Engine安装是否成功 hello-world

    sudo docker run hello-world

    此命令下载测试映像并在容器中运行它。当容器运行时,它会打印一条确认消息并退出。
    您现在已经成功安装并启动了 Docker Engine。

升级Docker引擎

要升级Docker Engine,请按照 安装说明的步骤2进行操作,选择要安装的版本。

启用docker镜像加速

启用国内镜像加速器

编辑 Docker 配置文件
/etc/docker/daemon.json 中添加国内镜像源(如阿里云、腾讯云):

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://hub-mirror.c.163.com",
	"https://mirror.ccs.tencentyun.com",
	"https://registry.docker-cn.com"
  ]
}

• 重启 Docker 服务生效:
```bash
	sudo systemctl daemon-reload
    sudo systemctl restart docker

验证加速器状态

docker info | grep "Registry Mirrors"
# 应显示配置的镜像地址

手动拉取镜像

针对关键服务镜像单独拉取
例如拉取 Redis 镜像:

docker pull redis:latest
# 若失败可尝试更换标签(如 alpine 版本)

使用代理服务器(适用于企业内网)
在 Docker 配置或环境变量中设置代理:

export HTTP_PROXY="http://proxy_ip:port"
export HTTPS_PROXY="http://proxy_ip:port"
docker compose up -d

其他优化措施

调整 Docker 客户端超时时间
修改 Docker 配置文件 /etc/docker/daemon.json

{
  "max-concurrent-downloads": 3,
  "max-download-attempts": 5
}

清理本地缓存后重试

docker system prune -a  # 清理无效镜像和缓存
docker compose up -d


关联问题排查

现象 排查方向 参考方案
部分服务镜像拉取成功 Docker Hub 限流 等待 1 小时后重试
仅特定镜像失败 镜像标签兼容性问题 检查 compose 文件版本
报错 “TLS handshake timeout” 系统时间不同步 同步时间:ntpdate pool.ntp.org

操作验证

完成上述步骤后,执行以下命令验证:

docker compose up -d --no-build  # 跳过构建直接启动
docker compose logs -f web       # 监控关键服务日志

若仍存在问题,可提供以下信息进一步排查:

docker info         # Docker 系统配置
docker network ls   # 网络状态
iptables -L -n     # 防火墙规则


文章作者: 沈仲华
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 沈仲华 !
  目录