Docker常用命令

结城 Docker 9 次阅读 778 字 发布于 2026-05-01 预计阅读时间: 4 分钟


一、镜像(Image)相关命令

命令说明
docker images列出本地所有镜像
docker pull <image>从仓库拉取镜像(如docker pull nginx
docker build -t [name:tag](name:tag) .从当前目录的 Dockerfile 构建镜像
docker rmi <image>删除指定镜像(可加-f强制删除)
docker tag <src_image> <target_image>给镜像打标签(如docker tag myapp:latest myrepo/myapp:v1
docker push <image>将镜像推送到远程仓库
docker history <image>查看镜像构建历史
docker save -o <file.tar> <image>导出镜像为 tar 文件
docker load -i <file.tar>从 tar 文件导入镜像

二、容器(Container)相关命令

命令说明
docker ps列出正在运行的容器
docker ps -a列出所有容器(包括已停止的)
docker run [OPTIONS] <image>启动一个新容器
常用选项:
-d后台运行
-it交互式终端
-p host:container端口映射
-v /host:/container挂载卷
--name name指定容器名
docker start <container>启动已停止的容器
docker stop <container>停止运行中的容器(优雅停止)
docker kill <container>强制终止容器
docker restart <container>重启容器
docker rm <container>删除已停止的容器(加-f可删运行中容器)
docker exec -it <container> /bin/bash进入运行中的容器执行命令
docker logs <container>查看容器日志(加-f实时跟踪)
docker cp <src> <dst>在宿主机和容器之间复制文件(如docker cp file.txt container:/app/
docker inspect <container/image>查看容器或镜像的详细信息(JSON 格式)

三、数据卷(Volume)相关命令

命令说明
docker volume ls列出所有卷
docker volume create <name>创建一个新卷
docker volume inspect <name>查看卷详情
docker volume rm <name>删除卷
docker volume prune删除所有未被使用的卷

💡 容器挂载卷方式:

  • -v myvol:/path/in/container(命名卷)
  • -v /host/path:/container/path(绑定挂载)

四、网络(Network)相关命令

命令说明
docker network ls列出所有网络
docker network create <name>创建自定义网络(推荐使用 bridge 类型)
docker network connect <network> <container>将容器连接到指定网络
docker network disconnect <network> <container>断开容器与网络的连接
docker network inspect <network>查看网络详情
docker network rm <network>删除网络

默认网络驱动:bridge​、host​、none


五、系统与清理命令

命令说明
docker system df显示磁盘使用情况(镜像、容器、卷等)
docker system prune清理所有未使用的资源(容器、网络、构建缓存)
docker system prune -a清理所有未使用的镜像(包括悬空和未被引用的)
docker info显示 Docker 系统信息
docker version显示 Docker 客户端和服务端版本

六、实用组合命令示例

# 查看所有容器 IP 地址
docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

# 运行并进入容器(如 Ubuntu)
docker run -it --rm ubuntu bash

# 后台运行 Web 服务并映射端口
docker run -d -p 8080:80 --name myweb nginx