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

第一部分-Docker基础入门——01. Docker 简介与安装

01. Docker 简介与安装

1. 什么是 Docker

Docker 是一个开源的容器化平台,它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,然后发布到任何支持 Docker 的系统上。

1.1 容器 vs 虚拟机

┌─────────────────────────────────────────────────────────────┐ │ 容器 vs 虚拟机 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ 虚拟机架构 容器架构 │ │ ┌─────────────┐ ┌─────────────┐ │ │ │ App A │ App B │ App A │ App B │ │ ├─────────────┤ ├─────────────┤ │ │ │ Bins/Libs │ Bins/Libs │ Bins/Libs │ Bins/Libs │ │ ├─────────────┤ ├─────────────┤ │ │ │ Guest OS │ Guest OS │ │ │ │ ├─────────────┤ │ Docker │ │ │ │ Hypervisor │ │ Engine │ │ │ ├─────────────┤ ├─────────────┤ │ │ │ Host OS │ │ Host OS │ │ │ └─────────────┘ └─────────────┘ │ │ │ │ 特点: 特点: │ │ - 资源占用大 - 轻量级 │ │ - 启动慢(分钟级) - 启动快(秒级) │ │ - 完全隔离 - 进程级隔离 │ │ - 每个 VM 有独立 OS - 共享宿主机 OS │ │ │ └─────────────────────────────────────────────────────────────┘

1.2 Docker 的优势

优势说明
一致性开发、测试、生产环境一致
可移植性一次构建,到处运行
隔离性进程级资源隔离
轻量级共享宿主机内核
快速启动毫秒级启动时间
易于扩展轻松横向扩展

2. Docker 发展历史

时间里程碑
2013年Docker 项目开源
2014年Docker 1.0 发布
2015年成立 OCI(开放容器倡议)
2017年Moby 项目拆分
2020年Kubernetes 弃用 Dockershim
至今成为容器化标准

3. Docker 架构

┌─────────────────────────────────────────────────────────────┐ │ Docker 架构 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────┐ ┌─────────────────────────┐ │ │ │ Docker │ CLI │ Docker Daemon │ │ │ │ Client │ ──────→ │ (dockerd) │ │ │ └─────────┘ REST ├─────────────────────────┤ │ │ API │ ┌─────────┐ │ │ │ │ │ containerd │ │ │ │ ┌─────────┐ │ └────┬────┘ │ │ │ │ Docker │ │ │ │ │ │ │ Registry│ ←────── │ ┌────▼────┐ │ │ │ └─────────┘ │ │ runc │ │ │ │ │ └─────────┘ │ │ │ └─────────────────────────┘ │ │ │ │ 组件说明: │ │ - Docker Client:用户交互入口 │ │ - Docker Daemon:管理容器、镜像、网络 │ │ - containerd:容器运行时 │ │ - runc:容器创建和运行 │ │ - Registry:镜像仓库 │ └─────────────────────────────────────────────────────────────┘

4. Docker 安装

4.1 Linux 安装(Ubuntu/Debian)

# 1. 更新软件包索引sudoapt-getupdate# 2. 安装依赖包sudoapt-getinstall-y\ca-certificates\curl\gnupg\lsb-release# 3. 添加 Docker 官方 GPG 密钥sudomkdir-p/etc/apt/keyringscurl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|sudogpg--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"|sudotee/etc/apt/sources.list.d/docker.list>/dev/null# 5. 安装 Docker Enginesudoapt-getupdatesudoapt-getinstall-ydocker-ce docker-ce-cli containerd.io docker-compose-plugin# 6. 启动 Dockersudosystemctl startdockersudosystemctlenabledocker# 7. 验证安装sudodockerrun hello-world

4.2 Linux 安装(CentOS/RHEL)

# 1. 卸载旧版本sudoyum removedockerdocker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine# 2. 安装依赖sudoyuminstall-yyum-utils# 3. 添加仓库sudoyum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 4. 安装 Dockersudoyuminstall-ydocker-ce docker-ce-cli containerd.io docker-compose-plugin# 5. 启动 Dockersudosystemctl startdockersudosystemctlenabledocker# 6. 验证sudodockerrun hello-world

4.3 macOS 安装

# 方法1:使用 Homebrewbrewinstalldockerdocker-compose# 方法2:下载 Docker Desktop# 访问 https://www.docker.com/products/docker-desktop/# 下载 .dmg 文件并安装# 验证安装docker--versiondocker-compose--version

4.4 Windows 安装

# 1. 启用 WSL 2# 以管理员身份运行 PowerShellwsl--install# 2. 下载 Docker Desktop for Windows# 访问 https://www.docker.com/products/docker-desktop/# 3. 安装并重启# 4. 验证docker--version

5. 配置镜像加速器

5.1 国内常用镜像源

镜像源地址
阿里云https://.mirror.aliyuncs.com
腾讯云https://mirror.ccs.tencentyun.com
中科大https://docker.mirrors.ustc.edu.cn
网易https://hub-mirror.c.163.com

5.2 配置镜像加速

# 创建配置目录sudomkdir-p/etc/docker# 编辑配置文件sudotee/etc/docker/daemon.json<<-'EOF' { "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com" ], "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } } EOF# 重启 Dockersudosystemctl daemon-reloadsudosystemctl restartdocker# 验证配置dockerinfo|grep-A5"Registry Mirrors"

6. 验证安装

6.1 基础验证命令

# 查看 Docker 版本docker--version# Docker version 24.0.7, build afdd53b# 查看详细版本信息dockerversion# 查看 Docker 系统信息dockerinfo# 运行测试容器dockerrun hello-world# 查看运行的容器dockerps# 查看所有容器dockerps-a# 查看镜像列表dockerimages

6.2 配置非 root 用户运行

# 创建 docker 用户组sudogroupadddocker# 将当前用户加入 docker 组sudousermod-aGdocker$USER# 重新登录或执行newgrpdocker# 验证dockerrun hello-world

7. 第一个容器

# 运行 Nginx 容器dockerrun-d-p8080:80--namemy-nginx nginx# 访问测试curlhttp://localhost:8080# 查看容器日志dockerlogs my-nginx# 进入容器dockerexec-itmy-nginxbash# 停止容器dockerstop my-nginx# 删除容器dockerrmmy-nginx

8. 常用命令速查

命令说明
docker --version查看版本
docker info系统信息
docker run运行容器
docker ps查看运行容器
docker ps -a查看所有容器
docker images查看镜像
docker pull拉取镜像
docker rmi删除镜像
docker rm删除容器
docker stop/start停止/启动容器
docker logs查看日志
docker exec进入容器

9. 常见问题

Q1: 权限不足(Permission denied)

# 方法1:使用 sudosudodockerrun hello-world# 方法2:将用户加入 docker 组sudousermod-aGdocker$USERnewgrpdocker

Q2: 镜像拉取超时

# 配置镜像加速器后重试# 或使用代理exportHTTP_PROXY=http://proxy-url:portexportHTTPS_PROXY=http://proxy-url:port

Q3: 端口已被占用

# 查看端口占用sudolsof-i:8080# 更换端口映射dockerrun-d-p8081:80 nginx

10. 小结

  • Docker是轻量级容器化平台
  • 容器比虚拟机更轻量、启动更快
  • 支持主流操作系统安装
  • 配置镜像加速器提升拉取速度
  • 掌握基础命令即可开始使用

http://www.jsqmd.com/news/770641/

相关文章:

  • 2026 全自动咖啡机横向评测,选购指南这样看不踩坑(附实用机型推荐) - 品牌2026
  • 开源AI Agent编排平台Mission Control:从架构解析到实战部署
  • 生物医药电子半导体厂房管道安装 设计施工一体化承包公司怎么选 - 品牌2026
  • 2026 全自动咖啡机哪个品牌好?哪家更适合我?精选机型推荐 - 品牌2026
  • 5分钟学会Open-Lyrics:用AI为你的音频自动生成专业字幕
  • 去黑头好用的泥膜牌子 5款热门泥膜实测!12天搞定顽固黑头细腻毛孔 - 全网最美
  • 主权债务风险传染与地缘政治MCP分析:数据驱动的量化建模实践
  • 太原红龙泰贸易:长治专业的热镀锌批发公司怎么联系 - LYL仔仔
  • 山东滨亿机械设备:青岛发电车出租公司 - LYL仔仔
  • AISMM快速评估版上线倒计时,为什么头部AI实验室已提前签署NDA并启动集成?
  • 苏州靠谱的茶馆口碑 - 速递信息
  • 如何快速备份QQ空间:GetQzonehistory一键保存青春记忆的终极指南
  • 告别蓝牙卡顿!用星闪NearLink打造智能家居,4096个设备同时在线是种什么体验?
  • YuukiPS启动器:原神多账号管理的终极解决方案
  • 刚需养老看环京,四大医疗康养社区硬核测评 - 品牌2026
  • 如何用VisualCppRedist AIO彻底解决Windows运行库缺失问题:专业完整指南
  • Linux 进程终止C/C++
  • ShawzinBot:从MIDI到Warframe音乐演奏的革命性转换工具
  • 从1μm精度到断刀检测:2026年高性价比测头品牌排名出炉!工业测头知名制造商 - 深度智识库
  • 高效配置漫画转换工具:5个实用技巧打造完美电子墨水屏阅读体验
  • 为团队统一开发环境使用 TaoToken CLI 一键配置密钥
  • 甘肃省 SCMP 报考官方授权机构及相关指南 - 众智商学院课程中心
  • 【VS Code 零基础配置指南】C/C++ 开发环境从安装到调试全流程:单文件 / 多文件 / CMake 全覆盖
  • 承接全国厂房无尘室洁净室工程:一站式服务公司哪家做的好? - 品牌2026
  • 终极指南:如何用FF14钓鱼计时器轻松捕获鱼王
  • 别只pip install了!深入理解sentence_transformers在PyG MovieLens示例中的角色与替代方案
  • MAA助手:明日方舟玩家的智能管家,三分钟解放双手的终极方案
  • 佛山市添明再生资源:佛山市生铁粉销售厂家有哪些 - LYL仔仔
  • 亨得利名表维修服务公告:唯有原厂配件与专业设备,才能成就一次安心托付 - 亨得利腕表维修中心
  • Streaming输出工程2026:让AI应用的响应感觉快10倍的技术实现