阅读量:22
Ubuntu中Docker常用命令大全(按功能分类整理)
一、基础信息查看
docker --version:查看Docker引擎版本。docker info:显示Docker系统详细信息(包括镜像/容器数量、存储驱动、内存使用等)。docker help:查看Docker命令帮助文档(支持子命令,如docker run --help)。
二、镜像管理
docker pull:从Docker Hub或私有仓库拉取镜像(如[:tag] docker pull nginx:latest,latest为默认标签)。docker images:列出本地所有镜像(-a显示所有镜像(含中间层),-q仅显示镜像ID,--filter "dangling=true"显示未被使用的中间层镜像)。docker rmi:删除本地镜像([:tag] -f强制删除,即使被容器使用;--no-prune不移除过程镜像,默认移除)。docker build -t:通过Dockerfile构建镜像([:tag] . .表示Dockerfile所在目录,-t指定镜像名称和标签)。docker save -o:将本地镜像保存为tar文件(如docker save -o nginx.tar nginx:latest)。docker load -i:从tar文件加载镜像(如docker load -i nginx.tar)。
三、容器管理
docker run [选项]:运行容器(核心命令),常用选项:[:tag] -d:后台运行(detached模式);-it:交互式终端(分配伪终端并保持标准输入打开);--name:指定容器名称(如--name my-nginx);-p:端口映射(如: -p 80:80将主机80端口映射到容器80端口);-v:挂载数据卷(如: -v /host/data:/container/data);--rm:容器退出后自动删除(适用于临时容器)。
docker ps:查看运行中的容器(-a显示所有容器(含已停止),-l显示最新创建的容器,-q仅显示容器ID,--format "{{.Names}}\t{{.Status}}"自定义输出格式)。docker stop:停止容器(发送SIGTERM信号,等待优雅退出,默认10秒超时)。docker start:启动已停止的容器。docker restart:重启容器。docker rm:删除已停止的容器(-f强制删除运行中的容器,-v同时删除关联的数据卷,docker rm $(docker ps -aq)批量删除所有已停止容器)。docker exec -it:在运行中的容器内执行命令(-it保持交互式,如docker exec -it my-nginx /bin/bash进入容器shell)。docker attach:附加到运行中的容器(直接进入容器的标准输入,退出会停止容器,慎用)。docker cp:从容器复制文件到宿主机(如: docker cp my-nginx:/etc/nginx/nginx.conf ./)。docker cp:从宿主机复制文件到容器(如: docker cp ./config.json my-nginx:/app/config.json)。
四、查看与调试
docker logs:查看容器日志(-f实时输出(类似tail -f),--tail 100仅显示最后100行,-t显示时间戳)。docker stats:实时查看容器资源使用情况(CPU、内存、网络、磁盘IO,docker stats查看指定容器)。docker inspect:查看容器或镜像的详细信息(JSON格式,如["是", " "] docker inspect -f '{{.NetworkSettings.IPAddress}}' my-nginx获取容器IP)。docker top:查看容器内运行的进程(显示PID、用户、CPU占用等)。docker wait:阻塞直到容器停止,返回退出码(用于脚本中等待容器结束)。
五、系统与资源管理
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创建数据卷,docker volume rm删除数据卷)。docker network inspect:查看网络详细信息(如IP段、连接的容器)。docker network connect:将容器连接到指定网络(如docker network connect my-bridge my-nginx)。docker network disconnect:断开容器与网络的连接。
七、Docker Compose(可选,用于多容器管理)
docker-compose up -d:启动Compose文件(docker-compose.yml)中定义的所有服务(-d后台运行)。docker-compose down:停止并删除Compose服务(包括容器、网络、卷(默认不删除卷,加-v则删除))。docker-compose ps:查看Compose服务的状态。docker-compose logs -f:实时查看指定服务的日志(如docker-compose logs -f web)。
以上命令覆盖了Ubuntu环境下Docker的日常核心操作,可根据实际需求选择使用。建议通过man docker-(如man docker-run)查看具体命令的详细说明。