Docker
简述
- 通过 dockerfile 构造镜像
- 通过镜像文件构造容器
- 运行 docker 容器
常用命令
🧰 一、镜像相关(Images)
| 命令 | 说明 |
|---|---|
docker images |
查看本地所有镜像 |
docker pull 镜像名:标签 |
从仓库下载镜像(如 docker pull nginx:alpine) |
docker build -t 镜像名:标签 . |
用当前目录的 Dockerfile 构建镜像 |
docker rmi 镜像名或ID |
删除镜像(-f 强制删除) |
docker image ls |
同 docker images |
docker image rm |
同 docker rmi |
示例
1 | docker pull ubuntu:20.04 |
📦 二、容器相关(Containers)
| 命令 | 说明 |
|---|---|
docker run [选项] 镜像名 [命令] |
创建并启动一个容器(最常用!) |
docker start 容器名/ID |
启动已停止的容器 |
docker stop 容器名/ID |
停止运行中的容器(优雅关闭) |
docker restart 容器名/ID |
重启容器 |
docker rm 容器名/ID |
删除容器(先停止再删) |
docker ps |
查看正在运行的容器 |
docker ps -a |
查看所有容器(包括已停止的) |
docker logs 容器名 |
查看容器日志 |
docker exec -it 容器名 命令 |
进入正在运行的容器(如 sh) |
docker run 常用选项
-d:后台运行(detached)-p 主机端口:容器端口:端口映射--name 名字:给容器起个名字-v /主机路径:/容器路径:挂载数据卷-e KEY=VALUE:设置环境变量
示例
1 | # 启动一个 Nginx 容器,映射 8080 端口,名字叫 web |
📁 三、数据卷与挂载(Volumes & Mounts)
| 命令 | 说明 |
|---|---|
docker volume ls |
查看所有数据卷 |
docker volume create 卷名 |
创建数据卷 |
docker volume rm 卷名 |
删除数据卷 |
-v 卷名:/容器路径 |
挂载数据卷 |
-v /主机路径:/容器路径 |
挂载主机目录(开发常用) |
示例
1 | # 挂载本地代码到容器,适合开发 |
🐳 四、系统管理
| 命令 | 说明 |
|---|---|
docker info |
查看 Docker 系统信息 |
docker version |
查看 Docker 版本 |
docker system df |
查看镜像、容器、数据卷占用空间 |
docker system prune |
清理未使用的资源(停止的容器、无用镜像等) |
docker system prune -a |
清理所有未使用的资源(更彻底) |
🔍 五、调试与分析
| 命令 | 说明 |
|---|---|
docker inspect 容器/镜像名 |
查看详细配置(JSON 格式) |
docker stats |
实时查看容器资源使用(CPU、内存) |
docker top 容器名 |
查看容器内运行的进程 |
docker history 镜像名 |
查看镜像每一层的构建历史 |
🧪 六、网络(Networking)
| 命令 | 说明 |
|---|---|
docker network ls |
查看所有网络 |
docker network create 网络名 |
创建自定义网络 |
--network 网络名 |
运行容器时指定网络 |
默认网络:
bridge,host,none
🧩 七、组合命令(常用快捷方式)
1 | # 一键删除所有停止的容器 |
⚠️ 慎用!确保没有重要数据
🎯 新手必记 5 条核心命令
| 命令 | 用途 |
|---|---|
docker run -d -p 80:80 --name web nginx |
启动一个服务 |
docker ps |
看哪些容器在运行 |
docker logs web |
看日志,排查问题 |
docker exec -it web sh |
进入容器调试 |
docker build -t myapp . |
构建自己的镜像 |
Dockerfile 规则
| 指令 | 作用 | 示例 |
|---|---|---|
FROM |
基础镜像(必须第一行)Docker Hub 寻找 | FROM python:3.9-slim |
COPY |
复制文件到镜像中 | COPY app.py /app/ |
ADD |
类似 COPY,还能解压、下载 | ADD http://xxx.zip /data/(少用) |
WORKDIR |
设置工作目录(类似 cd) | WORKDIR /app |
RUN |
安装软件、执行命令 | RUN pip install flask |
EXPOSE |
声明容器运行时开放的端口 | EXPOSE 5000 |
CMD |
容器启动后默认运行的命令 | CMD ["python", "app.py"] |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 YianNotes!

