我们这里说一下docker提供的全域认识
1.如何搭建使用docker的环境
2。如何使用docker的镜像,启动一个docker,使用docker提供的网络机制,数据卷机制。
3.查看docker的情况和状态
好的!下面从"全域认识"的角度,系统性地梳理 Docker 的核心使用流程,并补充对应的常用命令。内容分为三部分,对应你提出的三个问题:
1. 如何搭建使用 Docker 的环境
目标:在本地或服务器上安装并验证 Docker 是否可用。
常见操作系统安装方式(以 Linux 为例):
-
Ubuntu/Debian:
bash# 更新包索引 sudo apt update # 安装必要依赖 sudo apt install -y ca-certificates curl gnupg lsb-release # 添加 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 # 设置稳定版仓库 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 # 安装 Docker Engine sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin -
CentOS/RHEL:
bashsudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io -
Windows / macOS :
直接下载安装 Docker Desktop
启动 Docker 服务 & 验证安装:
bash
# 启动 Docker 服务(Linux)
sudo systemctl start docker
sudo systemctl enable docker # 开机自启
# 验证是否安装成功
docker --version # 查看版本
docker info # 查看详细信息
docker run hello-world # 运行测试容器
💡 提示:为避免每次加
sudo,可将当前用户加入docker用户组:
bashsudo usermod -aG docker $USER # 然后重新登录终端
2. 如何使用 Docker 的镜像、容器、网络和数据卷
(1)镜像(Image)操作
bash
# 搜索镜像(如 nginx)
docker search nginx
# 拉取镜像
docker pull nginx:latest
# 列出本地镜像
docker images
# 删除镜像
docker rmi <IMAGE_ID 或 REPOSITORY>
(2)启动容器(Container)
bash
# 后台运行一个 nginx 容器,映射 80 端口
docker run -d --name my-nginx -p 8080:80 nginx
# 交互式运行(如 Ubuntu)
docker run -it ubuntu /bin/bash
# 停止/启动/重启容器
docker stop my-nginx
docker start my-nginx
docker restart my-nginx
# 查看运行中的容器
docker ps
# 查看所有容器(包括已停止的)
docker ps -a
# 删除容器
docker rm <CONTAINER_ID 或 NAME>
# 强制删除正在运行的容器
docker rm -f my-nginx
(3)Docker 网络机制
Docker 默认提供三种网络驱动:bridge(默认)、host、none,也可自定义。
bash
# 查看网络
docker network ls
# 创建自定义 bridge 网络
docker network create my-net
# 启动容器时指定网络
docker run -d --name app1 --network my-net nginx
docker run -d --name app2 --network my-net redis
# 容器间可通过容器名互相通信(在同一个自定义网络中)
# 例如 app1 可 ping app2
✅ 自定义网络支持 DNS 解析(容器名即主机名),比默认 bridge 更适合多容器通信。
(4)数据卷(Volume)机制 ------ 持久化数据
bash
# 方式一:使用命名卷(推荐)
docker volume create my-vol
docker run -d --name web -v my-vol:/usr/share/nginx/html nginx
# 方式二:绑定挂载(Bind Mount)------直接挂载宿主机目录
docker run -d --name web2 -v /host/path:/container/path nginx
# 查看卷
docker volume ls
# 查看卷详情
docker volume inspect my-vol
# 删除卷(需先删除使用它的容器)
docker volume rm my-vol
💡 数据卷独立于容器生命周期,即使容器删除,数据仍保留。
3. 查看 Docker 的情况和状态
bash
# 查看 Docker 系统整体信息
docker info
# 查看运行中的容器
docker ps
# 查看容器日志
docker logs my-nginx
# 实时跟踪日志
docker logs -f my-nginx
# 查看容器资源使用情况(CPU、内存等)
docker stats
# 查看单个容器的详细信息(IP、挂载点、网络等)
docker inspect my-nginx
# 查看镜像占用空间
docker system df
# 清理无用资源(停止的容器、无用镜像、构建缓存等)
docker system prune -a
补充:常用组合命令速查表
| 功能 | 命令 |
|---|---|
| 启动带端口映射 + 数据卷 + 自定义网络的容器 | docker run -d --name app -p 8080:80 -v app_data:/app/data --network my-net image_name |
| 进入运行中的容器 | docker exec -it app /bin/bash |
| 复制文件到容器 | docker cp ./file.txt app:/app/ |
| 查看容器 IP | docker inspect -f '{``{range .NetworkSettings.Networks}}{``{.IPAddress}}{``{end}}' app |
以上内容构成了对 Docker 的"全域认识"基础:环境搭建 → 核心组件使用(镜像/容器/网络/存储)→ 状态监控与运维。掌握这些,即可覆盖 90% 的日常开发和部署场景。
如需进一步深入(如 Docker Compose、Dockerfile 编写、多阶段构建等),可继续扩展。是否需要我补充?