docker文档转译1

写在最前面

本文主要是转译docker官方文档。主题是Docker overview,这里是链接

Docker概述

Docker是一个用于开发、发布和运行应用程序的开放平台。Docker使你能够将应用程序与基础设施分离,从而可以快速交付软件。你可以使用相同的方法像管理应用程序那样去管理基础设施。通过利用Docker的发布、测试和部署代码的方法,你可以显著减少编写代码和在生产过程中运行代码之间的时间

Docker能干嘛?

1.快速且持续地发布你的应用程序

Docker把开发生命周期流水线化,通过使用容器,从而使开发者的工作环境变得标准化,这些容器提供应用程序和服务。容器时大量的持久化集成(continuous integration CI)和持久化发布(continuous delivery CD)的工作流.如以下情况

  • 开发者本地写代码并且通过Docker容器分享工作给其他同事
  • 使用Docker将应用程序推到测试环境中,并运行自动化和手动测试。
  • 当开发者发现bug,他们能够在生成环境进行修复,且重新部署在测试环境进行测试和验证
  • 当测试完成后,向客户提供修复程序就像将更新后的代码推送到生产环境一样简单。

2.响应式部署和扩展

Docker的基于容器的方式拥有高度可移植性。Docker容器能运行在开发者本地电脑,在数据中心的物理或虚拟机器,在云服务,或者多种混合环境。

Docker的便携性和轻量性使得其天生的能从容地管理程序,有商业需求时,近乎实时的扩大或缩小应用程序和服务

3.在相同的硬件下能运行更多的程序

Docker是轻量且快速的。它相比于基于虚拟机部署的方案提供了另一种可行的、经济有效的替代方案,相比基于虚拟机的方法来说可以部署更多的服务。Docker非常适合服务集中的环境和中小型部署,达成用更少的资源完成更多的工作。

Docker架构

Docker使用客户端-服务器架构。Docker客户端与Docker守护进程交流,Docker客户端负责构建,运行和发布Docker容器。Docker客户端和Docker守护进程能够工作在同一个系统,也能使用Docker客户端去连接远程的Docker守护进程,它们之间使用Rest API进行交流。另一种Docker客户端是Docker Compose,允许你使用由一组容器组成的应用程序。
在这里插入图片描述

Docker守护进程

Docker守护进程(dockerd)监听Docker API请求并管理Docker对象如镜像,容器,网络和卷。一个守护进程能够与其他守护进程进行交流去共同管理Docker服务

Docker客户端

Docker客户端(docker)是使用Docker的主要方式。当年使用命令docker run,客户端会发送命令到dockerd。docker命令使用Docker API。Docker客户端能够连接多个Docker守护进程

Docker Desktop

Docker桌面是一个应用程序,能够轻松地安装在Mac,Windows,Linux中。Docker桌面包括Docker守护进程(dockerd),Docker客户端(dockerd),Docker Compose,Docker Content Trust, Kubernetes和Credential Helper。

Docker registries

Docker registries是存储Docker image的地方。Docker Hub是一个公开的Docker registries,任何人都能使用。默认使用Docker Hub作为Docker registries。也可以使用私有的registry。
当使用docker pull或者docker run命令,Docker从配置好的registry 拉取需要的images,docker push同理

Docker objects

Docker对象主要有以下,images(镜像),containers(容器),networks(网络),volumes(卷),plugins(插件)

Images

一个images是一个只读的模板,包含一些指令,能这些指定够创建一个Docker容器。通常来说,一个image是在另一个image的基础上加上自定义配置形成的。

Contains

一个container是一个可运行的image的实例。container能够被创建,开始,停止,移动或删除。容器可以连接一个或多个网络,存储,或者基于当前container创建一个新的image
默认情况下,容器之间是独立的。可以控制如何隔离容器的网络,存储或其他subsystems

底层原理

Docker是用Go编程语言编写的,并利用了Linux内核的几个特性。Docker使用一种名为namespace的技术来提供称为容器的隔离工作区。当您运行一个容器时,Docker会为该容器创建一组名namespace。这些namespace提供了一个隔离层。容器的每个方面都在一个单独的namespace中运行,其访问权限仅限于该namespace。

最近更新

  1. TCP协议是安全的吗?

    2023-12-18 08:00:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-18 08:00:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-18 08:00:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-18 08:00:02       20 阅读

热门阅读

  1. uniapp上传文件api如何使用

    2023-12-18 08:00:02       42 阅读
  2. 【Vue原理解析】之虚拟DOM

    2023-12-18 08:00:02       40 阅读
  3. RabbitMQ

    2023-12-18 08:00:02       34 阅读
  4. 重温经典struts1之八种页面跳转或请求转发的方式

    2023-12-18 08:00:02       38 阅读
  5. Kotlin(十六) 高阶函数的简单应用

    2023-12-18 08:00:02       36 阅读
  6. Spring Boot Kotlin支持中文文档

    2023-12-18 08:00:02       37 阅读
  7. 《Kotlin核心编程》笔记:设计模式

    2023-12-18 08:00:02       28 阅读