Docker 命令大全及使用场景总结

一、容器生命周期管理

1. 创建并运行容器
docker run [选项] 镜像名 [命令]
  • 常用选项

    • -d:后台运行(detached)

    • -it:交互式终端(如 -it ubuntu bash

    • --name:指定容器名称

    • -p 主机端口:容器端口:端口映射(如 -p 80:8080

    • -v 主机路径:容器路径:挂载数据卷

    • -e 环境变量:设置环境变量(如 -e MYSQL_ROOT_PASSWORD=123

    • --restart=always:容器崩溃自动重启

  • docker restart 容器名/ID    # 重启容器
    

    使用场景

    • 快速启动服务(如 Nginx、MySQL)

    • 运行一次性任务(如 docker run alpine echo "Hello"

2. 启动/停止/重启容器

docker start 容器名/ID      # 启动已停止的容器
docker stop 容器名/ID       # 优雅停止
docker kill 容器名/ID       # 强制终止

3. 删除容器

docker rm 容器名/ID          # 删除已停止的容器
docker rm -f 容器名/ID       # 强制删除(包括运行中的容器)
docker container prune      # 删除所有已停止的容器

二、镜像管理

1. 拉取/推送镜像
docker pull 镜像名:标签       # 拉取镜像(如 `docker pull nginx:latest`)
docker push 镜像名:标签       # 推送镜像到仓库(需先登录)
2. 构建镜像

docker build -t 镜像名:标签 Dockerfile路径
  • 使用场景

    • 自定义镜像(如基于 Dockerfile 构建应用)

3. 删除镜像
docker rmi 镜像名/ID         # 删除镜像
docker image prune -a       # 删除所有未被使用的镜像

三、查看信息

1. 查看容器状态

docker ps           # 查看运行中的容器

docker ps -a        # 查看所有容器(包括已停止的)
docker stats        # 实时监控容器资源占用(CPU/内存)
2. 查看镜像

docker images       # 列出本地镜像

docker history 镜像名 # 查看镜像构建历史
3. 查看日志
docker logs 容器名/ID          # 查看容器日志
docker logs -f 容器名/ID       # 实时跟踪日志(类似 `tail -f`)

四、数据管理

1. 数据卷(Volumes)
docker volume create 卷名      # 创建数据卷
docker volume ls             # 列出所有卷
docker volume inspect 卷名    # 查看卷详情
  • 使用场景

    • 持久化数据库数据(如 MySQL)

    • 共享数据 between containers

2. 挂载主机目录
docker run -v /主机路径:/容器路径 镜像名
  • 示例

    docker run -v /home/user/data:/app/data nginx

五、网络管理

1. 查看网络
docker network ls             # 列出所有网络
docker network inspect 网络名  # 查看网络详情
2. 创建自定义网络

docker network create 网络名
  • 使用场景

    • 容器间通信(如微服务架构)

3. 连接容器到网络

docker network connect 网络名 容器名

六、批量操作

1. 停止所有容器
docker stop $(docker ps -aq)
2. 删除所有容器

docker rm -f $(docker ps -aq)
3. 清理无用资源

docker system prune -a      # 删除所有未使用的镜像、容器、网络

七、使用场景速查表

场景命令示例
运行 Web 服务docker run -d -p 80:80 --name nginx nginx
调试容器docker exec -it 容器名 bash
备份数据库数据docker run --volumes-from mysql -v /backup:/backup alpine tar cvf /backup/mysql.tar /var/lib/mysql
构建自定义镜像docker build -t my-app:1.0 .
容器互联docker run --name app --network my-net -d my-app
查看容器资源占用docker stats

八、注意事项

  1. 权限问题:某些操作需 sudo 或用户加入 docker 组。

  2. 生产环境安全

    • 避免使用 -privileged

    • 限制容器资源(--memory--cpus)。

  3. 数据持久化:重要数据务必挂载卷或绑定主机目录。

掌握这些命令后,可以覆盖 90% 的日常 Docker 使用场景!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/95706.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/95706.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单的 HTTPS 学习

简单的 HTTPS 学习 1. 需求 现在使用的服务是HTTP调用形式,服务可能会有调用外围https形式的服务,简单了解了一下,然后写了一个简单的例子进行记录。 HTTP(超文本传输协议) 是一种用于传输超文本的应用层协议&#…

[系统架构设计师]系统质量属性与架构评估(八)

[系统架构设计师]系统质量属性与架构评估(八) 一.软件系统质量属性 1.基本概念 软件系统质量属性:可测量或可测试的属性 开发期质量属性,运行期质量属性面向架构评估的质量属性:1.可用性: 提升策略 错误检测…

【R语言】R 语言中 gsub 与正则表达式详解(含 POSIX 与 Perl 风格实例)

R 语言中 gsub 与正则表达式详解(含 POSIX 与 Perl 风格实例) 在 R 语言中,字符串处理是非常常见的需求,R 语言中的 gsub() 函数则具有字符串替换的功能。本文将通过两个实例,帮助你深入理解 R 的 gsub()、POSIX 字符…

EN55035多媒体设备电磁兼容性抗干扰要求标准

EN55035 是一项由欧洲标准化委员会制定的电磁兼容性(EMC)标准,全称为《多媒体设备的电磁兼容性要求》。该标准主要针对多媒体设备的电磁辐射和抗干扰能力进行规范,确保这类设备在电磁环境中能够正常工作,同时不对其他设…

计算分组内时间列的最大差值

计算分组内时间列的最大差值 在 Pandas 中,要计算每个分组内 time 列的最大值与当前行值的差值,需结合 groupby() 和 transform() 方法。核心步骤如下:分组计算最大值 使用 transform(max) 获取每个分组中 time 列的最大值,结果会…

CUDA 编程笔记:CUDA延迟隐藏

一、核心概念:延迟隐藏(Latency Hiding)是 GPU 通过多线程机制掩盖指令延迟的关键技术。当某些线程束(warp)因指令延迟(如内存访问或算术计算)而等待时,其他就绪线程束会立即被调度执…

MySQL工具包中的其他程序

虽然有很多不同的程序,但有些选项是公共的,比兔用户名和密码,使用方法和MySQL相同,在这里统一列出,后面我们介绍不同的工具时,只讨论个性的选项以及作用以下是常用的MySQL程序:程序名作用mysqld…

C#WPF实战出真汁09--【消费开单】--选择菜品

1、功能介绍当选择一个空桌时,必须先开台才能开单,可以先开台,再开单,也可以开台的同时开单当选择一个用餐中的餐桌时,必须显示该桌前面已经点好的菜品,同时可以继续点餐或结账所以无论哪个功能都涉及选择菜…

大厂语音合成成本深度对比:微软 / 阿里 / 腾讯 / 火山 API 计费拆解与技术选型指南

在 AI 配音、智能客服、教育音频等场景爆发的当下,语音合成 API 已成为企业技术栈中的核心组件。然而,不同云厂商的计费规则差异显著,短文本 / 长文本计费分离、预付费 / 后付费价格梯度悬殊、音色授权费暗藏成本陷阱等问题,常导致…

Flutter开发 网络请求

HttpClient&#xff08;dart自有&#xff09; 1.get 点击请求按钮获取数据&#xff0c;解析数据获取单词展示到屏幕上。class MyState extends State {String info "暂无数据";List<Widget> texts [];overridevoid initState() {super.initState();}override…

vscode中用python调用matlab的函数(环境安装)

本实践适用于WIN11-x64和ubuntu22.04-x64系统&#xff0c;其余系统和架构未验证。 效果展示 1.环境要求 MATLAB Engine API for Python 的系统要求&#xff1a;参阅此官方文档MATLAB 与 Python 的版本兼容性&#xff1a;参阅此官方文档 2.安装步骤 安装Vscode&#xff08;不…

【数据分享】大清河(大庆河)流域上游土地利用

而今天要说明数据就是大清河&#xff08;大庆河&#xff09;流域上游土地利用。数据介绍大清河&#xff0c;又称大庆河&#xff0c;作为海河流域的重要支流&#xff0c;其流域上游地区不仅是区域水资源调控的关键节点&#xff0c;更是生态保护与经济发展的重要载体。以下从地理…

图论——Djikstra最短路

原理解释 首先解释一下它大概的应用场景以及原理&#xff1a;现在有这么一张图&#xff0c;图上各点之间都有一定的边权或者说是距离。给定你一个起点&#xff08;例如点1&#xff09;&#xff0c;让你求这个点到图上所有点的最短距离是多少&#xff1f; 这个问题比较平常&…

kafka初步介绍

Kafka角色介绍TopicTopic主题的意思&#xff0c;消费者必须指定主题用于的消息发送&#xff0c;生产者也必须指定主题用于消息的接收。topic只是逻辑上的划分。partitionpartition是分区的意思&#xff0c;他的主要作用是将发送到一个topic的数据做一个划分。如果有4个partitio…

windows10的vs2019编译openssl静态库备忘

1、下载安装openssl源码2、官网下载安装activeperl或Strawberry Perl。官网下载慢&#xff0c;网盘找找。使用中activeperl有些异常提示、缺模块&#xff0c;最后使用了Strawberry Perl。3、安装nasm。powershell使用choco install nasm -y 即可。powershell使用cd命令打开当前…

学习笔记与效率提升指南:编程、记忆与面试备考

在学习与工作中&#xff0c;高效的记录习惯、针对性的记忆方法和实用的技能储备&#xff0c;是提升效率的关键。本文结合编程学习、面试备考和英语单词积累&#xff0c;整理一套可落地的学习思路&#xff0c;尤其适合编程初学者。 一、学习核心原则&#xff1a;高效优先&#x…

顺丰面试题

1. 你擅长处理哪类问题推荐回答&#xff1a; "我比较擅长处理以下几类前端问题&#xff1a;性能优化&#xff1a;包括加载优化&#xff08;代码分割、懒加载&#xff09;、运行时优化&#xff08;减少重排重绘&#xff09;等复杂组件开发&#xff1a;如表单联动、可视化图…

Warmup_steps 设置经验

文章目录什么是 Warmup&#xff1f;实现示例科学设置 Warmup 的黄金法则直观例子什么是 Warmup&#xff1f; Warmup 是一种学习率调度策略&#xff0c;在训练初期逐步增加学习率&#xff08;LR&#xff09;&#xff0c;而不是直接使用目标学习率。它解决了两个关键问题&#x…

vue一个超简单的菜单栏伸缩示例

代码<template><div class"container"><!-- 左侧区域 --><div class"left-side" :style"{ width: leftWidth px }">左侧内容</div><!-- 右侧区域 --><div class"right-side" :style"{ l…

Spark学习(Pyspark)

&#xff08;1&#xff09;Spark基础入门 ①什么是Spark Spark是一款分布式内存计算的统一分析引擎。其特点就是对任意类型的数据进行自定义计算。Spark可以计算&#xff1a;结构化、半结构化、非结构化等各种类型的数据结构&#xff0c;同时也支持使用Python、Java、Scala、R以…