Docker 命令大全:从入门到精通

一、容器生命周期管理

  1. 容器操作基础
bash 复制代码
# 运行容器
docker run -d --name my_nginx -p 8080:80 nginx:latest

# 启动/停止容器
docker start my_nginx
docker stop my_nginx

# 重启容器
docker restart my_nginx

# 删除容器
docker rm my_nginx
  1. 容器状态管理
bash 复制代码
# 查看运行中的容器
docker ps

# 查看所有容器(包括停止的)
docker ps -a

# 查看容器资源使用情况
docker stats my_nginx

# 查看容器日志
docker logs -f --tail 100 my_nginx

二、镜像管理

  1. 镜像基础操作
bash 复制代码
# 拉取镜像
docker pull ubuntu:20.04

# 列出本地镜像
docker images

# 删除镜像
docker rmi nginx:latest

# 查看镜像历史
docker history nginx
  1. 镜像构建与推送
bash 复制代码
# 构建镜像(当前目录有Dockerfile)
docker build -t my_app:v1 .

# 给镜像打标签
docker tag my_app:v1 registry.example.com/my_app:v1

# 推送镜像到仓库
docker push registry.example.com/my_app:v1

三、网络管理

  1. 网络配置
bash 复制代码
# 创建自定义网络
docker network create my_network

# 查看网络列表
docker network ls

# 将容器连接到网络
docker network connect my_network my_nginx

# 断开网络连接
docker network disconnect my_network my_nginx
  1. 端口映射
bash 复制代码
# 随机端口映射
docker run -d -P nginx

# 指定端口映射
docker run -d -p 8080:80 -p 443:443 nginx

四、数据管理

  1. 数据卷操作
bash 复制代码
# 创建数据卷
docker volume create my_volume

# 挂载数据卷
docker run -d -v my_volume:/app/data my_app

# 查看数据卷详情
docker volume inspect my_volume
  1. 绑定挂载
bash 复制代码
# 挂载主机目录
docker run -d -v /host/path:/container/path nginx

# 只读挂载
docker run -d -v /host/path:/container/path:ro nginx

五、Docker Compose 命令

  1. 服务管理
bash 复制代码
# 启动服务
docker-compose up -d

# 停止服务
docker-compose down

# 查看服务状态
docker-compose ps

# 查看服务日志
docker-compose logs -f
  1. 环境管理
bash 复制代码
# 构建服务镜像
docker-compose build

# 拉取服务镜像
docker-compose pull

# 执行单次命令
docker-compose run web python manage.py migrate

六、系统维护命令

  1. 系统清理
bash 复制代码
# 删除所有停止的容器
docker container prune

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

# 删除所有未被使用的资源
docker system prune
  1. 系统信息
bash 复制代码
# 查看Docker系统信息
docker info

# 查看Docker版本
docker version

# 检查磁盘使用情况
docker system df

七、高级调试命令

  1. 容器调试
bash 复制代码
# 进入运行中的容器
docker exec -it my_nginx /bin/bash

# 在容器中执行命令
docker exec my_nginx nginx -t

# 查看容器进程
docker top my_nginx
  1. 镜像检查
bash 复制代码
# 检查镜像内容
docker inspect nginx:latest

# 保存镜像为tar文件
docker save -o nginx.tar nginx:latest

# 从tar文件加载镜像
docker load -i nginx.tar

八、安全相关命令

  1. 用户与权限
bash 复制代码
# 以指定用户运行容器
docker run -u 1000 my_app

# 查看容器用户
docker exec my_app whoami
  1. 安全扫描
bash 复制代码
# 扫描镜像漏洞
docker scan nginx:latest

# 查看容器变更
docker diff my_nginx

九、实用技巧

  1. 日志管理
bash 复制代码
# 限制日志大小(全局配置)
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}
  1. 资源限制
bash 复制代码
# 限制容器内存使用
docker run -d --memory="512m" --memory-swap="1g" my_app

# 限制CPU使用
docker run -d --cpus="1.5" my_app

十、常用命令速查表

|---------|----------------------------------------------------------------------------------------------------|
| 功能 | 命令 |
| 运行交互式容器 | bash docker run -it ubuntu bash |
| 查看容器IP | bash `docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' my_nginx` |
| 端口映射列表 | bash `docker port my_nginx` |
| 重命名容器 | bash `docker rename old_name new_name` |
| 更新容器配置 | bash `docker update --restart=always my_nginx` |

掌握这些命令后,您可以高效地管理Docker容器和镜像。建议将常用命令保存为脚本或别名以提高工作效率。

相关推荐
Dontla16 分钟前
Kubernetes Liveness Probe存活探针 / Readiness Probe就绪探针介绍(Startup Probe启动探针)重启容器
云原生·容器·kubernetes
七夜zippoe30 分钟前
DolphinDB安装部署:单机版快速上手
docker·安装部署·dolphindb·单机版·web gui
格林威38 分钟前
工业相机 SDK 在 Docker 容器中的部署与权限配置(含 USB/GigE)
开发语言·人工智能·数码相机·计算机视觉·docker·容器·工业相机
AI攻城狮1 小时前
Vibe Coding 时代:为什么你不应该盲目启用 AI 编码插件
人工智能·云原生·aigc
快往胃里来1 小时前
Dify保姆级教程:部署、智能体、工作流到后端API
阿里云·docker
Gofarlic_OMS2 小时前
Windchill的license合规使用报告自动化生成与审计追踪系统
大数据·运维·人工智能·云原生·自动化·云计算
cyber_两只龙宝3 小时前
【Oracle】Oracle之DQL中WHERE限制条件查询
linux·运维·数据库·云原生·oracle
lvyuanj5 小时前
zookeeper_cluster
分布式·zookeeper·云原生
星梦清河5 小时前
01 微服务
微服务·云原生·架构
http阿拉丁神猫5 小时前
kubernetes知识点汇总43-47
云原生·容器·kubernetes