Docker常用命令
·
Docker 是容器化技术的核心工具,掌握常用命令是使用 Docker 的基础。下面按镜像操作、容器操作、网络 / 数据卷、系统信息四大类,详细讲解最常用的 Docker 命令,每个命令包含作用、语法、示例和关键说明。
一、镜像(Image)相关命令
镜像是容器的「模板」,包含运行应用所需的代码、环境、依赖等,先掌握镜像操作才能创建容器。
1. 拉取镜像(docker pull)
- 作用:从 Docker Hub(或私有仓库)下载镜像到本地
- 语法:
docker pull [镜像名]:[标签](标签默认是latest,即最新版) - 示例:
# 拉取官方最新版 Ubuntu 镜像 docker pull ubuntu # 拉取指定版本(20.04)的 Ubuntu 镜像 docker pull ubuntu:20.04 # 拉取私有仓库的镜像(需先登录) docker pull registry.example.com/myapp:v1.0 - 关键说明:标签(tag)是镜像的版本标识,避免直接用
latest部署生产环境(版本不固定)
2. 查看本地镜像(docker images /docker image ls)
- 作用:列出本地已下载的所有镜像
- 语法:
docker images(简写)或docker image ls(更规范) - 示例:
docker images # 筛选镜像:只显示 ubuntu 相关镜像 docker images ubuntu # 精简输出(只显示镜像ID和名称) docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}" - 输出说明:
REPOSITORY:镜像名;TAG:版本标签;IMAGE ID:镜像唯一 ID;SIZE:镜像大小
3. 删除镜像(docker rmi /docker image rm)
- 作用:删除本地指定镜像(需确保该镜像没有运行中的容器依赖)
- 语法:
docker rmi [镜像ID/镜像名:标签] - 示例:
# 通过镜像名删除 docker rmi ubuntu:20.04 # 通过镜像ID删除(只需前几位即可) docker rmi 9140108b62dc # 强制删除(即使有停止的容器依赖) docker rmi -f ubuntu:latest # 删除所有未使用的镜像(清理空间) docker image prune -a - 关键说明:
-f是强制删除,谨慎使用;prune -a会删除所有无标签、无容器关联的镜像,释放磁盘空间
4. 构建镜像(docker build)
- 作用:通过
Dockerfile自定义构建镜像(最核心的镜像操作之一) - 语法:
docker build -t [镜像名:标签] [Dockerfile 所在目录] - 示例:
# 在当前目录(.)构建镜像,命名为 myapp,标签 v1 docker build -t myapp:v1 . # 指定自定义名称的 Dockerfile(如 Dockerfile.prod) docker build -t myapp:prod -f Dockerfile.prod . - 关键说明:
-t是「打标签」,Dockerfile是构建镜像的配置文件,.表示「当前目录」是构建上下文(Docker 会读取该目录下的所有文件)
二、容器(Container)相关命令
容器是镜像的「运行实例」,所有应用最终在容器中运行,这部分命令是使用 Docker 的核心。
1. 运行容器(docker run)
- 作用:基于镜像创建并启动容器(最常用、参数最多的命令)
- 核心语法:
docker run [参数] [镜像名:标签] [容器内执行的命令] - 常用参数说明:
参数 作用 -d后台运行容器(守护进程模式),不占用当前终端 -it交互式运行( -i标准输入,-t分配终端),常用于进入容器-p端口映射: -p 主机端口:容器端口(如-p 8080:80)-v数据卷挂载: -v 主机目录:容器目录(持久化数据)--name给容器指定自定义名称(默认是随机字符串) --rm容器停止后自动删除(适合临时测试) - 示例:
# 1. 交互式运行 Ubuntu 容器,进入容器终端 docker run -it ubuntu /bin/bash # 退出容器:输入 exit 即可,容器会停止(因为没有 -d) # 2. 后台运行 Nginx 容器,映射主机 8080 端口到容器 80 端口,命名为 mynginx docker run -d --name mynginx -p 8080:80 nginx # 访问:浏览器输入 http://主机IP:8080 即可看到 Nginx 欢迎页 # 3. 运行临时容器,停止后自动删除,测试 Python 版本 docker run --rm python:3.10 python --version # 4. 挂载数据卷运行容器(持久化 Nginx 配置) docker run -d --name mynginx -p 8080:80 -v /my/nginx/conf:/etc/nginx/conf.d nginx
2. 查看容器(docker ps /docker container ls)
- 作用:列出当前运行的容器(或所有容器)
- 语法:
# 查看运行中的容器(默认) docker ps # 查看所有容器(包括已停止的) docker ps -a # 只显示容器ID(批量操作时常用) docker ps -aq - 输出说明:
CONTAINER ID:容器唯一 ID;NAMES:容器名称;STATUS:容器状态(Up 运行中 / Exited 已停止);PORTS:端口映射信息
3. 启动 / 停止 / 重启容器
- 作用:对已创建的容器进行启停控制(区别于
docker run,run是「创建 + 启动」,这些是对已有容器操作) - 语法:
# 启动已停止的容器(指定容器名或ID) docker start mynginx # 停止运行中的容器(优雅停止) docker stop mynginx # 强制停止容器(类似 kill 进程) docker kill mynginx # 重启容器 docker restart mynginx
4. 进入运行中的容器(docker exec)
- 作用:进入后台运行的容器,执行命令(如调试、修改配置),是生产环境最常用的「进入容器」方式
- 语法:
docker exec -it [容器名/ID] [命令] - 示例:
# 进入 mynginx 容器的 bash 终端(交互式) docker exec -it mynginx /bin/bash # 在容器内执行单条命令(无需进入终端) docker exec mynginx cat /etc/nginx/nginx.conf - 关键说明:避免用
docker attach进入容器(退出会导致容器停止),docker exec是安全的方式
5. 删除容器(docker rm /docker container rm)
- 作用:删除已停止的容器(运行中的容器需先停止)
- 语法:
# 删除单个容器 docker rm mynginx # 强制删除运行中的容器 docker rm -f mynginx # 删除所有已停止的容器(清理空间) docker container prune # 删除所有容器(包括运行中的) docker rm -f $(docker ps -aq)
6. 查看容器日志 / 信息
- 查看日志:
docker logs [容器名/ID](查看容器运行输出,排障必备)# 实时跟踪日志(类似 tail -f) docker logs -f mynginx # 查看最后100行日志 docker logs --tail 100 mynginx - 查看容器详情:
docker inspect [容器名/ID](返回 JSON 格式的容器配置、网络、挂载等所有信息)
三、网络 / 数据卷(持久化 / 联网)
1. 数据卷(Volume)命令
数据卷用于容器数据持久化(容器删除后数据不丢失),是生产环境必备
# 创建自定义数据卷
docker volume create myvolume
# 查看所有数据卷
docker volume ls
# 查看数据卷详情(知道挂载路径)
docker volume inspect myvolume
# 删除未使用的数据卷
docker volume prune
# 删除指定数据卷
docker volume rm myvolume
2. 网络(Network)命令
容器默认使用桥接网络,自定义网络可实现容器间互通(如微服务场景)
# 创建自定义桥接网络
docker network create mynetwork
# 运行容器时加入自定义网络
docker run -d --name app1 --network mynetwork myapp:v1
# 查看所有网络
docker network ls
# 删除未使用的网络
docker network prune
四、系统信息 / 辅助命令
# 查看 Docker 版本信息(客户端+服务端)
docker version
# 查看 Docker 系统状态(镜像、容器、数据卷、空间占用等)
docker info
# 清理所有未使用的资源(镜像、容器、数据卷、网络)
docker system prune -a # -a 表示包括未使用的镜像
总结
- 核心逻辑:
镜像(Image)是模板,容器(Container)是运行实例,先pull/build镜像,再run容器。 - 高频命令:
- 镜像:
docker pull/docker images/docker rmi/docker build; - 容器:
docker run(重点记-d/-it/-p/-v/--name)/docker ps/docker exec/docker stop/rm。
- 镜像:
- 清理技巧:
docker system prune -a可一键清理无用资源,解决磁盘占用问题;生产环境避免用latest标签,指定具体版本更稳定。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)