梳理docker的提供机制

我们这里说一下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:

    bash 复制代码
    sudo 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 用户组:

bash 复制代码
sudo 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(默认)、hostnone,也可自定义。

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 编写、多阶段构建等),可继续扩展。是否需要我补充?

相关推荐
PPPPPaPeR.2 小时前
深入理解 Linux 文件系统:元数据、inode 与 block 核心原理
linux·运维·服务器
袁袁袁袁满2 小时前
Linux防火墙UFW和宝塔显示不同步问题如何解决?
linux·运维·服务器·宝塔·防火墙ufw
AI浩2 小时前
自动清理过期日志与媒体文件:防止服务器磁盘爆满的实用方案(find方案)
运维·服务器
予枫的编程笔记2 小时前
【Docker进阶篇】Docker Compose 实战:一键启动Web+数据库+缓存,微服务环境部署不再绕弯
人工智能·docker·开发效率工具·容器编排·docker compose·后端开发·微服务部署
was1722 小时前
多功能、自动化整理文件夹Python脚本
运维·python·自动化
地球空间-技术小鱼2 小时前
搜罗Linux桌面环境(Desktop Environments)列表
linux·运维·服务器·笔记·学习·ubuntu·debian
予枫的编程笔记3 小时前
【Docker进阶篇】拒绝重复构建镜像!.env文件+Profile实现多环境无缝切换
docker·环境变量·docker镜像·后端开发·配置管理·多环境配置·.env文件
liu****3 小时前
5.Linux CGroups 资源控制实战(CPU+内存)超详细教程
linux·运维·服务器·docker
礼拜天没时间.5 小时前
Docker 部署分布式 Hadoop(超详细实战版)
linux·hadoop·分布式·docker·容器