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。

相关推荐
Patrick_Wilson2 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy2 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭2 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩3 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵4 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1114 天前
LM Studio Docker 部署——本地大模型一键启动
docker
曲幽5 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
武子康7 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
Alsn8610 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
程序员老赵10 天前
服务器没有桌面?Docker 跑个 Chrome,浏览器就能远程用
docker·容器·devops