Docker 第一天学习指南:核心概念与环境搭建
·
一、学习目标
-
理解 Docker 三大核心概念:镜像、容器、仓库
-
完成 Docker 环境安装
-
运行第一个容器验证环境
二、核心概念详解
1. 镜像 (Image)
类比理解:镜像就像是一个“安装光盘”或“类”,包含了操作系统、软件和配置的快照。
关键特点:
-
只读模板,不能直接运行
-
分层构建,每一层都是只读的
-
可以基于基础镜像创建自定义镜像
# 列出本地所有镜像
docker images
# 拉取镜像(如 Ubuntu)
docker pull ubuntu:22.04
# 查看镜像详情
docker inspect ubuntu:22.04
2. 容器 (Container)
类比理解:容器是“运行起来的进程”,相当于把镜像这张“光盘”放进光驱运行。
关键特点:
-
镜像的实例(就像 类→对象)
-
可写层在镜像之上
-
可启动、停止、删除
# 运行容器(交互式)
docker run -it ubuntu:22.04 /bin/bash
# 后台运行容器
docker run -d nginx
# 列出运行中的容器
docker ps
# 列出所有容器(包括停止的)
docker ps -a
# 停止容器
docker stop <容器ID或名称>
# 删除容器
docker rm <容器ID或名称>
3. 仓库 (Registry)
类比理解:仓库就像“应用商店”或 GitHub,用于存储和分享镜像。
关键点:
-
Docker Hub:官方公共仓库
-
可搭建私有仓库
-
镜像命名规范:
[仓库地址/]用户名/镜像名:标签
# 搜索镜像
docker search nginx
# 推送镜像到仓库(需要登录)
docker push 你的用户名/镜像名:标签
# 登录 Docker Hub
docker login
三、关系图解
┌─────────────┐ docker run ┌─────────────┐
│ 镜像 │ ──────────────────→ │ 容器 │
│ (Image) │ │ (Container) │
│ 只读模板 │ docker commit │ 运行实例 │
└─────────────┘ ←────────────── └─────────────┘
↑ ↓
│ │
docker pull docker commit
docker push │
│ ↓
┌─────────────┐ ┌─────────────┐
│ 仓库 │ │ 镜像 │
│ (Registry) │ │ (新版本) │
└─────────────┘ └─────────────┘
核心流程:
-
仓库 → pull → 镜像
-
镜像 → run → 容器
-
容器修改 → commit → 新镜像
-
新镜像 → push → 仓库
四、环境安装
Linux 系统(Ubuntu/Debian)
# 1. 更新软件包
sudo apt update
# 2. 安装依赖
sudo apt install -y ca-certificates curl
# 3. 添加 Docker 官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# 4. 添加仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 5. 安装 Docker Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
# 6. 将当前用户加入 docker 组(避免每次都用 sudo)
sudo usermod -aG docker $USER
# 7. 重新登录或执行
newgrp docker
五、验证安装
1. 运行 Hello World
docker run hello-world
预期输出:
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
2. 查看版本信息
docker version
docker info

3. 验证镜像和容器
# 查看已下载的镜像(应该包含 hello-world)
docker images
# 查看所有容器(包括已退出的)
docker ps -a
# 你应该能看到刚刚退出的 hello-world 容器
六、动手实践任务(30分钟)
任务 1:运行 Ubuntu 容器并探索
# 1. 拉取 Ubuntu 镜像
docker pull ubuntu:22.04
# 2. 运行并进入容器
docker run -it ubuntu:22.04 /bin/bash
# 3. 在容器内执行命令(你会发现自己在一个“干净的” Ubuntu 环境)
ls /
cat /etc/os-release
echo "Hello Docker" > /tmp/test.txt
exit # 退出容器
# 4. 容器停止后,数据丢失了吗?
docker ps -a # 容器还在,但已停止
任务 2:后台运行 Nginx 并访问
# 1. 运行 Nginx 容器(后台模式)
docker run -d --name my-nginx -p 8080:80 nginx
# 2. 查看运行中的容器
docker ps
# 3. 访问 Nginx(浏览器打开 http://localhost:8080)
curl http://localhost:8080
# 4. 查看容器日志
docker logs my-nginx
# 5. 停止并删除
docker stop my-nginx
docker rm my-nginx
任务 3:自定义镜像(Dockerfile 初体验)
创建第一个 Dockerfile:
mkdir my-first-image
cd my-first-image
# 创建 Dockerfile
cat > Dockerfile << 'EOF'
FROM alpine:latest
RUN apk add --no-cache curl
CMD ["curl", "https://docker.com"]
EOF
# 构建镜像
docker build -t my-curl-image .
# 运行
docker run my-curl-image
更多推荐



所有评论(0)