温馨提示×

ubuntu中docker命令大全

小樊
43
2025-11-10 21:11:48
栏目: 智能运维

Ubuntu中Docker常用命令大全(按功能分类整理)

一、基础信息查看

  • docker --version:查看Docker引擎版本。
  • docker info:显示Docker系统详细信息(包括镜像/容器数量、存储驱动、内存使用等)。
  • docker help:查看Docker命令帮助文档(支持子命令,如docker run --help)。

二、镜像管理

  • docker pull <image>[:tag]:从Docker Hub或私有仓库拉取镜像(如docker pull nginx:latestlatest为默认标签)。
  • docker images:列出本地所有镜像(-a显示所有镜像(含中间层),-q仅显示镜像ID,--filter "dangling=true"显示未被使用的中间层镜像)。
  • docker rmi <image>[:tag]:删除本地镜像(-f强制删除,即使被容器使用;--no-prune不移除过程镜像,默认移除)。
  • docker build -t <name>[:tag] .:通过Dockerfile构建镜像(.表示Dockerfile所在目录,-t指定镜像名称和标签)。
  • docker save -o <file> <image>:将本地镜像保存为tar文件(如docker save -o nginx.tar nginx:latest)。
  • docker load -i <file>:从tar文件加载镜像(如docker load -i nginx.tar)。

三、容器管理

  • docker run [选项] <image>[:tag]:运行容器(核心命令),常用选项:
    • -d:后台运行(detached模式);
    • -it:交互式终端(分配伪终端并保持标准输入打开);
    • --name <name>:指定容器名称(如--name my-nginx);
    • -p <host_port>:<container_port>:端口映射(如-p 80:80将主机80端口映射到容器80端口);
    • -v <host_path>:<container_path>:挂载数据卷(如-v /host/data:/container/data);
    • --rm:容器退出后自动删除(适用于临时容器)。
  • docker ps:查看运行中的容器(-a显示所有容器(含已停止),-l显示最新创建的容器,-q仅显示容器ID,--format "{{.Names}}\t{{.Status}}"自定义输出格式)。
  • docker stop <container>:停止容器(发送SIGTERM信号,等待优雅退出,默认10秒超时)。
  • docker start <container>:启动已停止的容器。
  • docker restart <container>:重启容器。
  • docker rm <container>:删除已停止的容器(-f强制删除运行中的容器,-v同时删除关联的数据卷,docker rm $(docker ps -aq)批量删除所有已停止容器)。
  • docker exec -it <container> <command>:在运行中的容器内执行命令(-it保持交互式,如docker exec -it my-nginx /bin/bash进入容器shell)。
  • docker attach <container>:附加到运行中的容器(直接进入容器的标准输入,退出会停止容器,慎用)。
  • docker cp <container>:<path> <host_path>:从容器复制文件到宿主机(如docker cp my-nginx:/etc/nginx/nginx.conf ./)。
  • docker cp <host_path> <container>:<path>:从宿主机复制文件到容器(如docker cp ./config.json my-nginx:/app/config.json)。

四、查看与调试

  • docker logs <container>:查看容器日志(-f实时输出(类似tail -f),--tail 100仅显示最后100行,-t显示时间戳)。
  • docker stats:实时查看容器资源使用情况(CPU、内存、网络、磁盘IO,docker stats <container>查看指定容器)。
  • docker inspect <container>["是", "<field>"]:查看容器或镜像的详细信息(JSON格式,如docker inspect -f '{{.NetworkSettings.IPAddress}}' my-nginx获取容器IP)。
  • docker top <container>:查看容器内运行的进程(显示PID、用户、CPU占用等)。
  • docker wait <container>:阻塞直到容器停止,返回退出码(用于脚本中等待容器结束)。

五、系统与资源管理

  • docker system df:查看Docker磁盘使用情况(包括镜像、容器、数据卷的总大小及可回收空间)。
  • docker system prune:清理未使用的资源(删除停止的容器、未使用的网络、悬空镜像(未被任何容器引用的中间层镜像))。
  • docker system prune -a:删除所有未使用的镜像(包括未被容器引用的镜像,慎用)。
  • docker system prune --volumes:同时删除未使用的数据卷(-f强制删除,无需确认)。

六、网络与数据卷

  • docker network ls:列出所有网络(包括bridge、host、none及自定义网络)。
  • docker volume ls:列出所有数据卷(docker volume create <name>创建数据卷,docker volume rm <name>删除数据卷)。
  • docker network inspect <network>:查看网络详细信息(如IP段、连接的容器)。
  • docker network connect <network> <container>:将容器连接到指定网络(如docker network connect my-bridge my-nginx)。
  • docker network disconnect <network> <container>:断开容器与网络的连接。

七、Docker Compose(可选,用于多容器管理)

  • docker-compose up -d:启动Compose文件(docker-compose.yml)中定义的所有服务(-d后台运行)。
  • docker-compose down:停止并删除Compose服务(包括容器、网络、卷(默认不删除卷,加-v则删除))。
  • docker-compose ps:查看Compose服务的状态。
  • docker-compose logs -f <service>:实时查看指定服务的日志(如docker-compose logs -f web)。

以上命令覆盖了Ubuntu环境下Docker的日常核心操作,可根据实际需求选择使用。建议通过man docker-<command>(如man docker-run)查看具体命令的详细说明。

0