从vmware到docker 01-小白的docker学习笔记
字数 1855 2025-08-11 08:36:31

Docker 从入门到实践 - 详细教学文档

一、Docker 简介

Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。它允许开发者打包应用及其依赖到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。

核心特性:

  • 轻量级虚拟化:只虚拟容器所需资源
  • 沙箱机制:容器间完全隔离,类似 iPhone 的 app
  • 高性能:性能开销极低
  • 可移植性:一次构建,随处运行

二、Docker 与传统虚拟机的区别

特性 Docker VMware
虚拟化类型 轻量级虚拟化 完全虚拟化
内核 共享宿主内核 每个虚拟机有独立内核
硬件虚拟化 虚拟整套硬件
资源利用率 60%-80% 约30%
安全性 相对较低 较高
启动速度 秒级 分钟级

三、Docker 核心概念

1. 镜像(Images)

  • 静态文件,类比 VMware 的 ISO 镜像
  • 默认通过 http/https 协议拉取
  • 包含应用及其所有依赖

2. 容器(Container)

  • 动态实例,有生命周期
  • 类比 VMware 中的虚拟机
  • 容器间相互隔离但共享资源

3. 仓库(Registry)

  • 存储镜像的公共/私有仓库
  • 类比 GitHub 但用于镜像
  • 官方仓库 Docker Hub 包含数十万镜像

四、Docker 安装

Linux 安装方法

方法一:官方脚本安装(推荐)

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

方法二:国内 DaoCloud 一键安装

curl -sSL https://get.daocloud.io/docker | sh

Windows 安装注意事项

  • Docker 必须运行在 Linux 内核上
  • Windows 需先安装虚拟机运行 Linux 系统
  • 推荐使用 WSL2 或 Hyper-V 虚拟机

五、镜像加速配置

国内常用加速器

  • 科大镜像:https://docker.mirrors.ustc.edu.cn/
  • 网易:https://hub-mirror.c.163.com/
  • 阿里云:https://<你的ID>.mirror.aliyuncs.com
  • 七牛云:https://reg-mirror.qiniu.com

配置方法(Ubuntu/CentOS/Debian)

  1. 创建或编辑 /etc/docker/daemon.json
  2. 添加内容:
{
  "registry-mirrors": ["https://your-mirror-url"]
}
  1. 重启服务:
sudo systemctl daemon-reload
sudo systemctl restart docker

验证配置

docker info

查看输出中是否包含配置的镜像地址。

六、代理设置(适用于需要代理的环境)

  1. 创建配置目录:
sudo mkdir -p /etc/systemd/system/docker.service.d
  1. 创建配置文件:
sudo vi /etc/systemd/system/docker.service.d/http-proxy.conf

添加内容:

[Service]
Environment="HTTP_PROXY=http://proxy-addr:port/"
Environment="HTTPS_PROXY=http://proxy-addr:port/"
Environment="NO_PROXY=localhost,127.0.0.1"
  1. 应用配置:
sudo systemctl daemon-reload
sudo systemctl restart docker
  1. 验证:
docker search centos

七、Docker 基本使用

1. 镜像操作

搜索镜像

docker search httpd

参数说明:

  • NAME: 镜像名称
  • DESCRIPTION: 描述
  • OFFICIAL: 是否官方
  • STARS: 受欢迎度
  • AUTOMATED: 是否自动构建

拉取镜像

docker pull ubuntu

列出镜像

docker images
docker image ls -a

输出字段:

  • REPOSITORY: 仓库名
  • TAG: 标签
  • IMAGE ID: 镜像ID
  • CREATED: 创建时间
  • SIZE: 大小

删除镜像

docker rmi <镜像名或ID>

2. 容器操作

启动容器

docker run -it ubuntu /bin/bash

参数:

  • -i: 交互式操作
  • -t: 分配终端
  • /bin/bash: 启动后执行的命令

后台运行容器

docker run -itd --name ubuntu-test ubuntu /bin/bash
  • -d: 后台运行
  • --name: 指定容器名称

查看容器

docker ps -a  # 查看所有容器
docker ps     # 查看运行中的容器

启动/停止/重启容器

docker start <容器ID>
docker stop <容器ID>
docker restart <容器ID>

进入容器

推荐方式(退出不会停止容器):

docker exec -it <容器ID> /bin/bash

传统方式(退出会停止容器):

docker attach <容器ID>

导出/导入容器

导出:

docker export <容器ID> > ubuntu.tar

导入:

cat ubuntu.tar | docker import - test/ubuntu:v1

清理容器

删除所有停止的容器:

docker container prune

八、最佳实践建议

  1. 镜像来源:优先使用官方镜像,确保安全性
  2. 容器管理:为容器指定有意义的名称(--name)
  3. 资源监控:定期检查容器资源使用情况
  4. 数据持久化:重要数据使用卷(volume)存储
  5. 镜像加速:国内用户务必配置镜像加速器
  6. 安全更新:定期更新Docker和镜像版本

九、学习资源

  1. 官方文档:https://docs.docker.com/
  2. Docker Hub:https://hub.docker.com/
  3. 阿里云容器服务:https://www.aliyun.com/product/containerservice
  4. 菜鸟教程:https://www.runoob.com/docker/docker-tutorial.html

通过本文档,您应该已经掌握了Docker的核心概念和基本操作。建议从简单的容器操作开始,逐步尝试构建自己的镜像和部署完整应用。

Docker 从入门到实践 - 详细教学文档 一、Docker 简介 Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。它允许开发者打包应用及其依赖到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。 核心特性: 轻量级虚拟化 :只虚拟容器所需资源 沙箱机制 :容器间完全隔离,类似 iPhone 的 app 高性能 :性能开销极低 可移植性 :一次构建,随处运行 二、Docker 与传统虚拟机的区别 | 特性 | Docker | VMware | |------|--------|--------| | 虚拟化类型 | 轻量级虚拟化 | 完全虚拟化 | | 内核 | 共享宿主内核 | 每个虚拟机有独立内核 | | 硬件虚拟化 | 无 | 虚拟整套硬件 | | 资源利用率 | 60%-80% | 约30% | | 安全性 | 相对较低 | 较高 | | 启动速度 | 秒级 | 分钟级 | 三、Docker 核心概念 1. 镜像(Images) 静态文件,类比 VMware 的 ISO 镜像 默认通过 http/https 协议拉取 包含应用及其所有依赖 2. 容器(Container) 动态实例,有生命周期 类比 VMware 中的虚拟机 容器间相互隔离但共享资源 3. 仓库(Registry) 存储镜像的公共/私有仓库 类比 GitHub 但用于镜像 官方仓库 Docker Hub 包含数十万镜像 四、Docker 安装 Linux 安装方法 方法一:官方脚本安装(推荐) 方法二:国内 DaoCloud 一键安装 Windows 安装注意事项 Docker 必须运行在 Linux 内核上 Windows 需先安装虚拟机运行 Linux 系统 推荐使用 WSL2 或 Hyper-V 虚拟机 五、镜像加速配置 国内常用加速器 科大镜像: https://docker.mirrors.ustc.edu.cn/ 网易: https://hub-mirror.c.163.com/ 阿里云: https://<你的ID>.mirror.aliyuncs.com 七牛云: https://reg-mirror.qiniu.com 配置方法(Ubuntu/CentOS/Debian) 创建或编辑 /etc/docker/daemon.json 添加内容: 重启服务: 验证配置 查看输出中是否包含配置的镜像地址。 六、代理设置(适用于需要代理的环境) 创建配置目录: 创建配置文件: 添加内容: 应用配置: 验证: 七、Docker 基本使用 1. 镜像操作 搜索镜像 参数说明: NAME: 镜像名称 DESCRIPTION: 描述 OFFICIAL: 是否官方 STARS: 受欢迎度 AUTOMATED: 是否自动构建 拉取镜像 列出镜像 输出字段: REPOSITORY: 仓库名 TAG: 标签 IMAGE ID: 镜像ID CREATED: 创建时间 SIZE: 大小 删除镜像 2. 容器操作 启动容器 参数: -i : 交互式操作 -t : 分配终端 /bin/bash : 启动后执行的命令 后台运行容器 -d : 后台运行 --name : 指定容器名称 查看容器 启动/停止/重启容器 进入容器 推荐方式(退出不会停止容器): 传统方式(退出会停止容器): 导出/导入容器 导出: 导入: 清理容器 删除所有停止的容器: 八、最佳实践建议 镜像来源 :优先使用官方镜像,确保安全性 容器管理 :为容器指定有意义的名称(--name) 资源监控 :定期检查容器资源使用情况 数据持久化 :重要数据使用卷(volume)存储 镜像加速 :国内用户务必配置镜像加速器 安全更新 :定期更新Docker和镜像版本 九、学习资源 官方文档:https://docs.docker.com/ Docker Hub:https://hub.docker.com/ 阿里云容器服务:https://www.aliyun.com/product/containerservice 菜鸟教程:https://www.runoob.com/docker/docker-tutorial.html 通过本文档,您应该已经掌握了Docker的核心概念和基本操作。建议从简单的容器操作开始,逐步尝试构建自己的镜像和部署完整应用。