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。

相关推荐
九皇叔叔6 小时前
K8S 资源菜单
docker·容器·kubernetes·k8s
wdfk_prog7 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
zoutao988 小时前
Gitea Actions 自定义 Runner 镜像与自动化部署实战
ci/cd·docker·gitea
小马同学-10 小时前
nerdctl实战:Docker风格的Containerd操作利器
docker·容器·containerd
九皇叔叔10 小时前
Kubernetes 命令式对象配置详解:使用 YAML 管理 Kubernetes 资源
docker·容器·k8s
CVer儿11 小时前
docker内llama.cpp和TRT-LLM win11本机部署qwen3.8
docker
萤火夜11 小时前
Docker(四) Docker介绍
docker·容器
.冰块.12 小时前
Docker 镜像深度学习:分层 Copy‑on‑Write、Dockerfile 语法、Harbor 私有仓库实操
docker·容器·harbor·镜像·dockerfile·images
szephyr13 小时前
Docker 镜像瘦身实战:从 1.2GB 压到 85MB 的完整过程
docker·容器·部署·多阶段构建·镜像优化
溪语流沙15 小时前
Django + Vue电商项目第001讲:开篇|注册登录加增删改查,那不是电商
redis·python·mysql·docker·typescript·django·vue