当前位置: 首页 > backend >正文

Docker 安装与配置 详解——AI教你学Docker

1.2 Docker 安装与配置 详解

本节围绕 Docker 的安装方法及常见配置,帮助你在不同平台上顺利部署 Docker,并理解其关键配置项。

一、Docker 安装

1. 支持的操作系统

  • Linux(主流发行版:Ubuntu、CentOS、Debian、Fedora、openSUSE 等)
  • Windows(Windows 10/11 Pro/Enterprise、Windows Server 2016 及以上)
  • macOS(Intel/Apple Silicon)

推荐使用官方脚本或包管理工具安装,避免使用第三方源。

2. Linux 平台安装步骤(以 Ubuntu 为例)

  1. 卸载旧版本(如果有)

    sudo apt-get remove docker docker-engine docker.io containerd runc
    
  2. 更新 apt 包索引并安装依赖

    sudo apt-get update
    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. 设置 Docker 仓库

    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-buildx-plugin docker-compose-plugin
    
  6. 启动并设置开机自启

    sudo systemctl start docker
    sudo systemctl enable docker
    
  7. 验证安装

    docker version
    docker run hello-world
    
其他主流 Linux 发行版(CentOS、Fedora、Debian)安装方式类似,详见官方文档。

3. Windows 平台安装

  • Docker Desktop for Windows:适用于 Win10/11 Pro/Enterprise 或 Windows Server。
  • 下载安装包:Docker Desktop 官网
  • 安装完成后,建议在 WSL2(Windows 子系统 Linux 2)上运行 Docker,性能更佳。
注意事项:
  • Windows 需开启 Hyper-V 或 WSL2。
  • 家庭版用户建议升级至专业版或使用 Docker Toolbox(已不推荐)。

4. macOS 平台安装

  • Docker Desktop for Mac:适用于 Intel 和 Apple Silicon(M1/M2)芯片。
  • 下载安装包:Docker Desktop 官网
  • 支持通过 Homebrew 安装:
    brew install --cask docker
    
注意事项:
  • Docker Desktop 启动后会在菜单栏显示小鲸鱼图标。
  • 需赋予相关系统权限(磁盘、网络等)。

5. 免安装二进制方式

  • 适合服务器/云平台,直接下载官方发布的二进制包解压即可使用。

二、Docker 配置

1. Docker Daemon 配置文件(daemon.json)

  • 位置:/etc/docker/daemon.json(Linux),C:\ProgramData\docker\config\daemon.json(Windows)

  • 常见配置项示例:

    {"registry-mirrors": ["https://your-mirror.com"],"insecure-registries": ["http://your-registry:5000"],"log-driver": "json-file","log-opts": {"max-size": "100m","max-file": "3"},"data-root": "/data/docker"
    }
    
  • 说明:

    • registry-mirrors:镜像加速器,提升国内拉取镜像速度(如阿里云、网易云、DaoCloud等)。
    • insecure-registries:允许连接无需 HTTPS 的私有仓库。
    • log-driver:日志驱动,常见有 json-file、syslog、journald、none 等。
    • data-root:自定义 Docker 数据存储目录(默认 /var/lib/docker)。
    • log-opts:日志文件大小与轮转设置,防止日志占满磁盘。
修改后重启 Docker 服务:
sudo systemctl restart docker

2. 配置代理

  • 国内访问 Docker Hub 慢或公司需要代理时,可配置 HTTP/HTTPS 代理。
  • 创建 /etc/systemd/system/docker.service.d/http-proxy.conf 文件(Linux):
    [Service]
    Environment="HTTP_PROXY=http://proxy.example.com:8080"
    Environment="HTTPS_PROXY=http://proxy.example.com:8080"
    Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"
    
  • 重新加载 systemd 并重启 Docker:
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

3. 普通用户免 sudo 运行 Docker

  • 默认只有 root 或 docker 组成员能操作 Docker。
  • 添加当前用户到 docker 组:
    sudo usermod -aG docker $USER
    # 重新登录 shell 或 reboot 生效
    

4. 安装 Docker Compose(独立版本)

  • 新版 Docker Desktop 已自带 Compose 插件;Linux 可单独安装独立版本:
    sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" \
    -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    docker-compose --version
    

三、常见问题与排查

  • 启动失败:检查端口冲突、磁盘空间、配置文件格式等。
  • 无法拉取镜像:尝试配置 registry-mirrors,检查网络代理设置。
  • docker 命令需 sudo:确认用户已加入 docker 组,重新登录。

四、参考链接

  • Docker 官方文档:安装
  • Docker 官方文档:配置
http://www.xdnf.cn/news/14679.html

相关文章:

  • Dify携手代理商奇墨科技:加快企业AI应用构建
  • linux grep的一些坑
  • 预训练语言模型之:Encoder-only PLM
  • VIVADO导出仿真数据到MATLAB中进行分析
  • 美团小程序闪购 mtgsig1.2
  • springboot中引入activemq的一个坑
  • leetcode230-二叉搜索树中第K小的元素
  • [学习] C语言编程中线程安全的实现方法(示例)
  • ARM架构鲲鹏主机BClinux离线安装docker步骤
  • 《前端资源守卫者:SRI安全防护全解析》
  • OpenCV CUDA模块设备层-----创建一个“常量指针访问器” 的工具函数constantPtr()
  • 从设备自动化到智能管控:MES如何赋能牛奶饮料行业高效生产?
  • IAR平台全面升级,提升瑞萨MCU架构的嵌入式软件开发效率
  • C++语言发展历程-2025
  • 在大数据求职面试中如何回答分布式协调与数据挖掘问题
  • 单片机——浮点数转换4位数码管显示
  • JVM内存模型详解
  • 设计模式精讲 Day 11:享元模式(Flyweight Pattern)
  • STM32和C++ 实现配置文件导入、导出功能
  • uniapp+vue3做小程序,获取容器高度
  • 【开源工具】一键解决使用代理后无法访问浏览器网页问题 - 基于PyQt5的智能代理开关工具开发全攻略
  • OVS Faucet练习(下)
  • 【Linux指南】文件管理高级操作(复制、移动、查找)
  • 【基础篇-消息队列】——详解 RocketMQ 和 Kafka 的消息模型
  • VR看房:房地产数字化转型的核心引擎
  • RSYNC+IONTIFY数据实时同步
  • 二刷苍穹外卖 day03
  • MySQL基础函数篇
  • (C++)素数的判断(C++教学)(C语言)
  • 逻辑门电路Multisim电路仿真汇总——硬件工程师笔记