一文搞懂docker相关概念-001

163 阅读6分钟

Docker是一种开源的容器化平台,它允许开发者将应用程序及其依赖项打包成独立的容器,以便在不同的环境中进行部署和运行。Docker容器提供了一种轻量级、可移植和可扩展的方式来隔离应用程序,使其能够在各种操作系统和硬件平台上运行。

下面介绍相关概念:docker、容器、实例、应用程序、

❤️整理不易,小主们动动小手,点赞再看、养成习惯❤️

一、什么是docker

Docker是一个平台,它通过管理容器[1],实现了对应用程序的部署。

什么是容器(Container)[1]

容器是一种打包技术,它将代码及其所有依赖项打包成一个模板,可以实现应用程序在不同的环境中进行部署和运行。

容器是由镜像[2]创建的运行实例。容器是可执行的、独立的应用程序运行环境,它具有自己的文件系统、网络环境、进程空间等。每个容器都是基于相应的镜像创建,并在其中运行应用程序。容器可以被启动、停止、删除和重启。每个容器都是相互隔离的,它们运行在宿主机上,但与其他容器和宿主机的进程隔离开来,但可以共享宿主机的资源。

docker与容器

每一个容器 =(就是) 一个可运行的实例[3]。docker平台可管理每一个容器

什么是镜像(Image)[2]

镜像是一个只读的模板,包含了运行应用程序所需的所有文件系统、依赖项、配置等。

构建镜像就2步

  • 新建一个 Dockerfile 文件,描述这个镜像
  • 执行 docker build 命令 创建出这个镜像

镜像与容器

一个镜像(模板)可以用来创建多个容器实例。

实例[3]

可执行的实例是指在 Docker 中正在运行的容器。当你通过 Docker 运行一个容器时,实际上是在基于指定镜像创建一个容器实例并运行起来。它具有自己的独立的运行状态和资源。你可以通过 Docker 命令管理这些实例,例如启动、停止、查看日志等。实际上可以理解为一个可执行实例,内部就是一个应用程序,比如一个前端项目、一个后台服务等

二、为什么需要docker(很重要)

Docker 是一种容器化平台,它提供了一种便捷、轻量级的虚拟化技术,具有以下优势和作用:

  1. 轻量性-->快速启动:Docker 容器相对于传统虚拟机更加轻量级,因为它们共享宿主机的操作系统内核。这使得容器的启动速度非常快,可以在几秒钟内启动和停止,以及高效地扩展和管理多个容器实例。

  2. 环境一致性-->方便移植和部署:Docker 容器提供了一种可移植的应用程序打包和分发方式。通过将应用程序及其所有依赖项打包在一个容器中,可以确保应用程序在不同的环境中具有一致的行为,并且更容易进行部署和迁移。即 Docker 容器可以确保应用程序在不同的开发、测试和生产环境中具有一致的环境配置。开发人员可以在本地开发环境中构建和测试容器,然后将其部署到生产环境中,而无需担心环境依赖和配置的问题。

  3. 资源隔离-->安全性:Docker 容器提供了一定程度的资源隔离,每个容器都有自己的文件系统、网络环境和进程空间。这使得容器之间相互隔离,互不影响,提供了更好的安全性和稳定性。

  4. 弹性-->扩展性:Docker 容器可以根据负载情况进行水平扩展,即增加或减少容器实例的数量。这种弹性和扩展性使得应对高流量和高负载的需求变得更加灵活和可靠。

  5. 生态好(有系统和工具支持):Docker 拥有庞大的生态系统和丰富的工具支持,使得容器的构建、部署、监控和管理变得更加简单和高效。有许多开源工具和服务可与 Docker 配合使用,例如 Docker Compose、Kubernetes 等。

综上所述,Docker 提供了一种便捷、高效的容器化解决方案,可以帮助开发人员和运维团队构建、交付和运行应用程序。它具有轻量性、可移植性、环境一致性、资源隔离、安全性、弹性和丰富的工具支持等优势,大大简化了应用程序的开发、部署和管理过程,提高了效率和可靠性。

三、如何使用docker

使用 Docker 可以通过以下步骤:

  1. 安装 Docker:首先,在你的操作系统上安装 Docker。Docker 提供了适用于不同操作系统的安装程序和说明文档。你可以从 Docker 官方网站下载适合你的操作系统的安装程序,并按照指引进行安装。

  2. 编写 Dockerfile:在使用 Docker 构建镜像之前,你需要编写一个 Dockerfile 文件,该文件定义了构建镜像所需的步骤和配置。Dockerfile 中包含了诸如基础镜像、依赖项安装、文件复制等指令,用于构建镜像。你可以使用文本编辑器创建 Dockerfile,并根据你的应用程序需求进行配置。

  3. 构建镜像:使用 Docker 命令行界面(CLI)执行构建命令,将 Dockerfile 转换为可执行镜像。在命令行中,进入 Dockerfile 所在的目录,并执行以下命令:docker build -t <镜像名称> . 这将基于 Dockerfile 构建镜像,并将其命名为指定的名称。

  4. 运行容器:通过镜像创建容器并运行应用程序。使用 docker run 命令来启动容器,指定镜像名称和其他选项,例如端口映射、环境变量等。例如,docker run -p 8080:80 <镜像名称> 将在本地的 8080 端口上运行容器,并将容器的 80 端口映射到宿主机的端口。

  5. 管理容器:使用 Docker 命令行界面管理容器的生命周期。你可以使用 docker startdocker stopdocker restart 命令来启动、停止和重启容器。还可以使用 docker ps 命令查看正在运行的容器列表,使用 docker logs 查看容器日志等。

  6. 扩展和管理:使用 Docker 提供的工具和技术进行容器的扩展和管理。例如,可以使用 Docker Compose 编写和管理多个容器的配置,使用 Kubernetes 进行容器编排和管理,使用 Docker Swarm 进行集群管理等。

了解更多 Docker 命令和配置选项,需要参考docker官方文档

❤️整理不易,小主们动动小手,点赞支持一下吧~❤️