【 0 基础 Docker 极速入门】镜像、容器、常用命令总结

news2024/10/6 14:37:17

Docker Images(镜像)生命周期

请添加图片描述
Docker 是一个用于创建、部署和运行应用容器的平台。为了更好地理解 Docker 的生命周期,以下是相关概念的介绍,并说明它们如何相互关联:

  1. Docker

    • Docker 是一个开源平台,用于自动化应用程序在轻量级、便携式容器中的部署、扩展和管理。
  2. Dockerfile

    • Dockerfile 是一个文本文件,包含一系列指令,用于构建 Docker 镜像。每个指令在 Docker 镜像中创建一个新的层。
  3. build

    • docker build 命令用于从 Dockerfile 构建一个 Docker 镜像。该命令读取 Dockerfile 的内容,并按照其中的指令一步步创建镜像。
  4. Images

    • Docker 镜像是一个不可变的文件,它包含了应用程序以及其运行所需的一切。镜像是基于层的,每层代表一个文件系统的快照。
  5. tag

    • 标签用于给 Docker 镜像赋予一个易于识别的名字和版本号。比如,myapp:1.0 中的 1.0 就是一个标签。
  6. registry

    • Docker 仓库是存储和分发 Docker 镜像的地方。最常用的公共仓库是 Docker Hub,也可以有私有仓库。
  7. push

    • docker push 命令用于将本地 Docker 镜像上传到 Docker 仓库中,以便在其他环境中使用或共享。
  8. pull

    • docker pull 命令用于从 Docker 仓库中下载镜像到本地环境。
  9. Containers

    • 容器是从镜像创建的一个实例,运行应用程序。容器是轻量级的隔离环境,确保应用程序的独立运行。
  10. run

    • docker run 命令用于创建并启动一个新的容器。例如,docker run myapp:1.0 会从 myapp:1.0 镜像创建并启动一个容器。
  11. commit

    • docker commit 命令用于将一个正在运行的容器保存为一个新的镜像。这对于保存容器的当前状态很有用。
  12. stop

    • docker stop 命令用于停止一个正在运行的容器。停止的容器可以通过 start 命令重新启动。
  13. start

    • docker start 命令用于启动一个已经停止的容器,而不是创建一个新的实例。
  14. restart

    • docker restart 命令用于重新启动一个正在运行或已经停止的容器。
  15. save

    • docker save 命令用于将一个或多个镜像保存为一个 tar 文件,以便在不同的系统之间传输。比如,docker save -o backup.tar myapp:1.0
  16. load

    • docker load 命令用于从一个 tar 文件中加载镜像。例如,docker load -i backup.tar
  17. Local Docker instance

    • 本地 Docker 实例是指在本地计算机上运行的 Docker 引擎,用于构建、运行和管理容器。
  18. My computer

    • 我的计算机是指用户个人的计算设备,上面可以安装 Docker 引擎,允许用户在本地构建和运行 Docker 容器。
  19. backup.tar

    • 这是一个由 docker save 命令生成的 tar 文件,包含一个或多个 Docker 镜像的备份。它可以用 docker load 命令恢复到本地 Docker 实例。

通过这些概念,Docker 提供了一个完整的生命周期管理工具集,从创建和测试镜像,到分发和运行容器,再到管理和备份镜像。每个步骤都在 Docker 环境中起着关键作用,确保应用程序可以高效、可靠地运行在不同的计算环境中。

Docker Container(容器)生命周期

在这里插入图片描述
Docker 容器管理涉及一系列命令和状态,用于控制容器的生命周期。以下是对这些概念的简要介绍:

  1. docker run

    • 创建并启动一个新的容器。例如,docker run myapp:latest 会从 myapp:latest 镜像创建并启动一个容器。
  2. docker restart

    • 重新启动一个正在运行或已停止的容器。相当于先执行 docker stop,然后再执行 docker start
  3. docker create

    • 仅创建一个新的容器,但不启动它。可以后续用 docker start 来启动这个容器。
  4. docker start

    • 启动一个已经被创建但未运行的容器,或者重新启动一个已停止的容器。
  5. created

    • 容器状态,表示容器已经被创建,但还没有被启动。
  6. running

    • 容器状态,表示容器正在运行中。
  7. docker 容器的主进程退出

    • 当容器内的主进程(PID 1)退出时,容器也会停止运行,状态变为 exited
  8. docker 服务挂掉

    • 如果 Docker 守护进程(Docker Daemon)崩溃或停止,所有运行中的容器都会停止。
  9. docker pause

    • 暂停一个运行中的容器中的所有进程。
  10. docker unpause

    • 恢复一个被暂停的容器中的所有进程。
  11. docker rm

    • 删除一个已停止的容器。例如,docker rm mycontainer 删除名为 mycontainer 的容器。
  12. docker rm -f

    • 强制删除一个正在运行的容器。这相当于先执行 docker stop 再执行 docker rm
  13. docker stop/docker kill

    • docker stop:优雅地停止一个运行中的容器,发送 SIGTERM 信号,允许进程进行清理。
    • docker kill:立即停止一个运行中的容器,发送 SIGKILL 信号,强制终止进程。
  14. paused

    • 容器状态,表示容器中的所有进程已被暂停。
  15. exited

    • 容器状态,表示容器中的主进程已经退出,容器已停止运行。
  16. deleted

    • 容器状态,表示容器已经被删除。

这些命令和状态提供了全面的工具集,允许用户管理 Docker 容器的整个生命周期,从创建、启动、暂停、停止到最终删除。这样可以灵活地控制应用程序的运行和资源的使用。

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

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

相关文章

生成ssh密钥,使用ssh连接linux系统

这里写目录标题 ssh密钥大概介绍1、密钥在哪里生成(客户端/服务器)?2、密钥生成是什么样子的? ssh (生成密钥、密钥传输、配置连接、连接服务)过程1、生成密钥提示一:输入保存密钥的文件&#x…

Nginx实战:nginx支持带下划线的header

nginx对header 的名字字符做了限制,默认 underscores_in_headers 为off,表示如果header name中包含下划线,则忽略掉,后端服务就获取不到该请求头。 为了支持header带下划线的参数,可以在http内或者server内设置如下参数…

ip地址告诉别人安全吗?ip地址告诉别人会有什么风险

IP地址告诉别人安全吗?在数字化时代,IP地址作为网络连接的关键标识符,承载着重要的安全意义。然而,很多人可能并不清楚,轻易地将自己的IP地址告诉他人可能带来一系列安全风险。那么,IP地址告诉别人会有什么…

7-11 验证宏(verify)---PTA实验C++

一、题目描述 无需惊慌,C缔造者Bjarne Stroustrup这句话说的CPP是C PreProcessor,即“C代码预处理器”。CPP根据#include #define #if #pragma等指令对文件进行处理。这种处理发生在编译之前,所以CPP叫“预处理器”。CPP完全是文本层面的处理…

少样本学习与零样本学习:理解与应用

少样本学习与零样本学习:理解与应用 在现代机器学习领域中,少样本学习(Few-Shot Learning)和零样本学习(Zero-Shot Learning)正变得越来越重要。这些技术能够在数据稀缺的情况下有效地进行学习和推理&…

禁止Windows Defender任务计划程序

开始键->搜索“任务计划程序”->“任务计划程序库”->“Microsoft”->"Windows"->"Windows Defender"->右边四项

Prometheus + Grafana + Alertmanager 系统监控

PrometheusGrafana 系统监控 1. 简介1.1 Prometheus 普罗 米修斯1.2 Grafana 2. 快速试用2.1 Prometheus 普罗 米修斯2.2 Prometheus 配置文件2.3 Grafana 2. 使用 Docker-Compose脚本部署监控服务3. Grafana 配置3.1 配置数据源 Prometheus3.2 使用模板ID 配置监控模板3.3 使用…

【SpringBoot】怎么在一个大的SpringBoot项目中创建多个小的SpringBoot项目,从而形成子父依赖

父子项目工程创建 步骤 先创建父项目 具体操作步骤请看本文章:使用maven工程创建spring boot项目 创建子项目 file- project structure module–new module 剩下步骤请看创建父工程时的操作使用maven工程创建spring boot项目 应用 确认即可 之后创建启动类…

Kafka篇:Kafka搭建、使用、及Flink整合Kafka文档

一、Kafka搭建 1、上传并解压改名 tar -xvf kafka_2.11-1.0.0.tgz mv kafka_2.11-1.0.0 kafka-1.0.0 2、配置环境变量 vim /etc/profile export KAFKA_HOME/usr/local/soft/kafka-1.0.0 export PATH$PATH:$KAFKA_HOME/bin source /etc/profile (使环境变量生效…

SPHINX的输出文档格式

SPHINX的输出文档格式 SPHINX的输出文档格式更多信息 SPHINX的输出文档格式 用rst编写,然后用sphinx-build进行编译,还是效果相当不错地,只要掌握了格式,可以一次编译,多种格式输出,主要是用的可能是html和…

Java对象的比较——equals方法,Comparable接口,Comparator接口

Java对象的比较——equals方法,Comparable接口,Comparator接口 1. equals方法2. Comparable接口3. Comparator接口 1. equals方法 在判断两个整数是否相同时,我们可以使用以下方式: System.out.println(1 2); System.out.printl…

多普云DPGo摄影测量航线规划软件

1.航线代规划。支持GSR航线(大疆精灵4RTKSDK遥控器)、DJI Pilot航线(大疆精灵4RTK、M300)、DJI Pilot2航线(大疆精灵4RTK、M300、Mavic3E)。 2.DPGO三维模型满足毫米级精度要求:已知被摄范围&am…

基于java的CRM客户关系管理系统(二)

目录 第二章 相关技术介绍 2.1 后台介绍 2.1.1 B/S平台模式 2.1.2 MVC 2.1.3 Spring 2.1.4 Hibernate 2.1.5 Struts 2.2 前端介绍 2.2.1 JSP网页技术 2.3 开发工具 2.4 本章小结 前面内容请移步 基于java的CRM客户关系管理系统(二) 资源…

vscode编辑器创建分支注意事项?!

最近在公司开发项目时,不小心将自己分支的东西提交到公司的master的分支,大家看看是什么情况? 先上图: 从图上看,我这边用了GITLENS这个插件,在创建分支时,有个create branch from,有…

如何选择软件开发服务商

在当今数字化快速发展的时代,软件已经成为企业运营不可或缺的一部分。然而,对于许多非技术背景的企业来说,如何选择一个合适的软件开发服务商却是一个不小的挑战。本文将从需求分析、服务商评估、合同条款以及后期维护等方面,详细…

【GD32F303红枫派使用手册】第五节 FMC-片内Flash擦写读实验

5.1 实验内容 通过本实验主要学习以下内容: FMC控制器原理; FMC擦写读操作; 5.2 实验原理 5.2.1 FMC控制器原理 FMC即Flash控制器,其提供了片上Flash操作所需要的所有功能,在GD32F303系列MCU中,Flash…

环卫车北斗GPS视频监控定位解决方案的应用与优势

一、引言 随着城市化进程的加快,环卫车作为城市环境卫生的重要保障力量,其运行效率与安全性直接关系到城市形象与居民生活品质。然而,传统的环卫车管理模式往往存在信息不对称、调度不合理、行驶不规范等问题,导致城市道路污染和…

Java中的软引用,你了解吗?

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一…

打工人福音,办公神器软件

今天分享2个免VIP的办公神器app,建议所有手机安装,第一个布丁扫描http://www.budingscan.com ,无广告不收费,这是VIVO 推出的一款完全免费的扫描APP,支持文档&证件扫描、OCR文字&表格识别提取、…

解决Windows 10通过SSH连接Ubuntu 20.04时的“Permission Denied”错误

在使用SSH连接远程服务器时,我们经常可能遇到各种连接错误,其中“Permission denied, please try again”是较为常见的一种。本文将分享一次实际案例的解决过程,帮助你理解如何排查并解决这类问题。 问题描述 在尝试从Windows 10系统通过SS…