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

相关推荐
ShiLiu_mtx2 小时前
k8s - 1
云原生·容器·kubernetes
峰顶听歌的鲸鱼2 小时前
Kubernetes核心概述
运维·笔记·云原生·容器·kubernetes·云计算
南梦浅2 小时前
CentOS 7 安装 Docker 避坑指南:解决源不稳定与插件校验失败问题
docker
好奇心害死薛猫2 小时前
飞牛NAS_docker_easytier
网络·docker
Leo July2 小时前
Docker全解析:从入门到企业级实战
运维·docker·容器
江湖有缘2 小时前
PicoShare + Docker 实战:打造极简自托管文件分享系统
运维·docker·容器
kft13142 小时前
SkyWalking10.3.0-性能监控管理工具部署教程-Docker模式(二)-保姆级教程
运维·docker·容器
等风来不如迎风去3 小时前
【docker】ubuntu空间不够了,删除ragflow
ubuntu·docker·容器
hanyi_qwe3 小时前
Pod控制器与配置资源管理 【K8S (七)】
容器·kubernetes