docker常用命令

一、镜像(Image)相关命令

镜像是容器的静态模板, 这部分命令用于管理 例如builder-jammy-base:latest(最精简的 Ubuntu 22.04 系统环境 这类镜像:

命令 作用 示例
docker images 查看本地镜像 docker images
docker search <关键词> 搜索镜像 docker search ubuntu
docker pull <镜像名:标签> 拉取镜像 docker pull builder-jammy-base:latest
docker rmi <镜像ID/镜像名> 删除指定镜像 docker rmi builder-jammy-base:latest(加 -f 强制删除)
docker build -t <镜像名:标签> <Dockerfile路径> 通过Dockerfile构建镜像 docker build -t my-jammy:v1 .. 表示当前目录的Dockerfile)
docker save -o <保存文件名.tar> <镜像名> 导出镜像为压缩包 docker save -o jammy-base.tar builder-jammy-base:latest
docker load -i <压缩包.tar> 导入本地镜像包 docker load -i jammy-base.tar

二、容器(Container)相关命令(核心)

容器是镜像的动态运行实例,这部分是日常操作最多的命令:

命令 作用 示例
docker ps 查看运行中的容器 docker ps-a 查看所有容器,包括停止的
docker run [参数] <镜像名> 创建并启动容器 docker run -d -p 80:80 --name my-nginx nginx (-d:后台运行容器;-p:指定宿主机 8080 端口映射到容器 80 端口;--name 给容器起个好记的名字,避免记容器ID) docker run -d -P --name my-nginx nginx (自动用宿主机随机端口去映射容器端口) ##### -p 和 -P 的区别 -p(小写):手动指定端口映射(如 -p 8080:80,宿主机 8080 端口映射到容器 80 端口) -P(大写):自动用宿主机随机端口去映射容器端口
docker start/stop <容器ID/容器名> 启动 / 停止容器 docker start my-container / docker stop my-container
docker restart <容器ID/容器名> 重启容器 docker restart my-container
docker rm <容器ID/容器名> 删除容器 docker rm my-container(加 -f 强制删除运行中的容器)
docker exec -it <容器ID/容器名> <命令> 在运行的的容器中执行命令 docker exec -it my-container 命令
docker logs <容器ID/容器名> 查看容器日志 docker logs -f my-container-f 实时跟踪日志)
docker cp <本地路径> <容器ID:容器路径> 本地与容器互传文件 docker cp ./test.txt my-container:/root/(本地传容器)docker cp my-container:/root/test.txt ./(容器传本地)

三、系统 / 资源管理命令(实用)

用于清理垃圾、查看 Docker 状态:

命令 作用 示例
docker info 查看 Docker 系统信息(如加速器、存储路径) docker info
docker version 查看 Docker 版本(客户端 + 服务端) docker version
docker system df 查看 Docker 磁盘占用 docker system df(类似 df -h
docker system prune [参数] 清理无用资源(镜像 / 容器 / 网络) docker system prune -a-a 清理所有未使用镜像,谨慎执行)

四、网络(Network)相关命令(进阶)

管理容器网络(新手先了解即可):

命令 作用 示例
docker network ls 查看所有网络 docker network ls
docker network create <网络名> 创建自定义网络 docker network create my-network
docker run --network <网络名> <镜像名> 启动容器并加入指定网络 docker run -it --name c1 --network my-network ubuntu

快速记忆技巧

  1. 所有命令都可以用 docker --helpdocker <子命令> --help 查看帮助,比如 docker run --help

  2. 核心高频命令:pull(拉镜像)→ run(启容器)→ exec(进容器)→ ps(看容器)→ stop/rm(停 / 删容器);

  3. 批量删除技巧: powershell

    复制代码
    # 删除所有停止的容器
    docker rm $(docker ps -aq)
    # 删除所有未使用的镜像
    docker rmi $(docker images -aq)

五、贴个docker引擎配置文件

html 复制代码
{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "dns": [
    "114.114.114.114",
    "8.8.8.8"
  ],
  "experimental": false,
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://dockerhub.timeweb.cloud",
    "https://huecker.io",
    "https://noohub.net"
  ]
}

六、最后的建议:

国内现在的 Docker 环境确实是"地狱难度 ",镜像源经常无预警封锁或报 403,需要科学上网,折腾代理和镜像源极其耗费精力,要搞推荐直接下海用阿里云海外服务器或AWS或Azure

相关推荐
MonkeyKing_sunyuhua22 分钟前
docker compose up -d --build 完全使用新代码打包的方法
docker·容器·eureka
醇氧1 小时前
【docker】mysql 8 的健康检查(Health Check)
mysql·docker·容器
技术路上的探险家1 小时前
Ubuntu下Docker与NVIDIA Container Toolkit完整安装教程(含国内源适配)
linux·ubuntu·docker
70asunflower5 小时前
用Docker创建不同的容器类型
运维·docker·容器
小Pawn爷5 小时前
3.Dockerfile
docker
CodeGolang5 小时前
Docker容器化部署Zabbix监控系统完整指南
docker·容器·zabbix
忆~遂愿6 小时前
Runtime 上下文管理:计算实例的生命周期、延迟最小化与上下文切换优化
java·大数据·开发语言·人工智能·docker
lpruoyu16 小时前
【Docker进阶-03】存储原理
docker·容器
文静小土豆17 小时前
Docker 与 containerd 代理配置详解:镜像拉取速度慢的终极解决方案
运维·docker·容器
JY.yuyu19 小时前
Docker常用命令——数据卷管理 / 端口映射 / 容器互联
运维·docker·容器