跳过正文
  1. 博客文章/

Docker 常用命令速查手册

·378 字·2 分钟·
Docker DevOps Docker Container Devops Cheatsheet
Zayn
作者
Zayn
专注 Kubernetes、CI/CD、可观测性等云原生技术栈,记录生产环境中的实战经验与踩坑复盘。
目录

前言
#

Docker 是现代 DevOps 工作流中不可或缺的容器化工具。本文整理了日常工作中最常用的 Docker 命令,方便快速查阅。

镜像管理
#

查看镜像
#

docker images
docker image ls

搜索镜像
#

docker search nginx

拉取镜像
#

docker pull nginx:latest
docker pull nginx:1.21

删除镜像
#

docker rmi nginx:latest
docker rmi $(docker images -q)  # 删除所有镜像

导出/导入镜像
#

docker save -o nginx.tar nginx:latest
docker load -i nginx.tar

容器管理
#

查看容器
#

docker ps              # 查看运行中的容器
docker ps -a           # 查看所有容器
docker container ls    # 同 docker ps

创建并启动容器
#

docker run -d --name nginx -p 80:80 nginx:latest
docker run -it --name centos centos:7 /bin/bash

启动/停止/重启容器
#

docker start nginx
docker stop nginx
docker restart nginx

进入容器
#

docker exec -it nginx /bin/bash
docker attach nginx

查看容器日志
#

docker logs nginx
docker logs -f nginx           # 实时查看
docker logs --tail 100 nginx   # 查看最后100行

查看容器详情
#

docker inspect nginx

查看容器资源使用
#

docker stats
docker stats nginx

删除容器
#

docker rm nginx
docker rm -f nginx              # 强制删除运行中的容器
docker rm $(docker ps -aq)      # 删除所有容器

数据卷管理
#

创建数据卷
#

docker volume create mydata

查看数据卷
#

docker volume ls
docker volume inspect mydata

删除数据卷
#

docker volume rm mydata
docker volume prune  # 删除未使用的数据卷

挂载数据卷
#

docker run -d -v mydata:/data nginx
docker run -d -v /host/path:/container/path nginx

网络管理
#

查看网络
#

docker network ls
docker network inspect bridge

创建网络
#

docker network create mynet
docker network create --driver bridge mynet

连接容器到网络
#

docker network connect mynet nginx

断开容器网络
#

docker network disconnect mynet nginx

删除网络
#

docker network rm mynet

系统清理
#

清理退出状态的容器
#

docker rm $(docker container ls -f "status=exited" -q)

清理未使用的镜像
#

docker image prune
docker image prune -a  # 删除所有未使用的镜像

一键清理
#

docker system prune
docker system prune -a             # 包括镜像
docker system prune --volumes      # 包括数据卷

Dockerfile 构建
#

构建镜像
#

docker build -t myimage:v1 .
docker build -t myimage:v1 -f Dockerfile.custom .

Dockerfile 示例
#

FROM centos:7

LABEL maintainer="admin@example.com"

RUN yum install -y vim \
    && yum clean all

COPY app.py /app/

WORKDIR /app

EXPOSE 8080

CMD ["python", "app.py"]

容器转镜像(不推荐)
#

docker commit container_name image_name

注意:不推荐使用 commit 创建镜像。建议使用 Dockerfile 构建镜像,因为 commit 创建的镜像不可复现。

常用组合命令
#

批量停止所有容器
#

docker stop $(docker ps -q)

批量删除所有容器
#

docker rm $(docker ps -aq)

查看容器 IP 地址
#

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx

复制文件到容器
#

docker cp file.txt nginx:/tmp/
docker cp nginx:/tmp/file.txt ./

希望这份速查手册对你有所帮助!建议收藏备用。

相关文章

企业级 GitLab 平台部署与运维完整指南
·3964 字·19 分钟
Docker Docker Compose DevOps Gitlab Docker Devops Git CI/CD
企业级 Nexus3 制品仓库平台部署与运维完整指南
·6475 字·31 分钟
Docker DevOps Nexus3 Docker Artifact-Repository Devops Package-Management
Docker 部署 OpenLDAP 统一身份认证服务
·2305 字·11 分钟
DevOps Openldap Docker Authentication Devops