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。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器视觉技术与应用实战(开运算、闭运算、细化)

开运算和闭运算的基础是膨胀和腐蚀,可以在看本文章前先阅读这篇文章机器视觉技术与应用实战(Chapter Two-04)-CSDN博客 开运算:先腐蚀后膨胀。开运算可以使图像的轮廓变得光滑,具有断开狭窄的间断和消除细小突出物的作…

CentOS 7 部署 Nacos-2.3.0 (单机版)

CentOS 7 部署 Nacos-2.3.0 (单机版) 1. 下载 Nacos 安装包 历史版本:https://github.com/alibaba/nacos/releases/ 我选的是 2.3.0 版本,https://github.com/alibaba/nacos/releases/download/2.3.0/nacos-server-2.3.0.tar.g…

万兆网络之屏蔽线序接法(下)

我们直接干吧 1.剥去网线外被,这个相信大家都会的,剪掉尼龙线 剥去的长度用水晶头和护套量度,多留一点长度用于撸直 为了插进去很紧,我用的是超五类的护套,只能顶到条纹底端就很费劲了 然后十字骨架留一小段&#xf…

机器学习笔记 - 时间序列分析基础概念解释

一、简述 时间序列分析是一种统计方法,可检查定期收集的数据点以揭示潜在的模式。该技术与各个行业高度相关,因为它可以根据历史数据做出决策和预测。通过了解过去并预测未来,时间序列分析在金融、医疗保健、能源、供应链管理、天气预报、营销等领域发挥着至关重要的作用。 …

【经典LeetCode算法题目专栏分类】【第4期】BFS广度优先算法:单词接龙、最小基因变化、二进制矩阵中的最短路径

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 一般涉及到最小层数问题…

7.实现任务的rebalance

1.设计 1.1 背景 系统启动后,所有任务都在被执行,如果这时某个节点宕机,那它负责的任务就不能执行了,这对有稳定性要求的任务是不能接受的,所以系统要实现rebalance的功能。 1.2 设计 下面是Job分配与执行的业务点…

高通平台开发系列讲解(AI篇)如何让MTCNN运行在SNPE

文章目录 一、使用到的工具1.1、SNPE特点1.2、SNPE特点二、环境配置2.1、Snpe的环境配置2.2、opencv的环境配置2.3、caffe的环境配置三、MTCNN网络组成四、基于SNPE运行MTCNN沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章主要介绍如何使用高通平台SNPE运行MTCN…

GZ015 机器人系统集成应用技术样题5-学生赛

2023年全国职业院校技能大赛 高职组“机器人系统集成应用技术”赛项 竞赛任务书(学生赛) 样题5 选手须知: 本任务书共 24页,如出现任务书缺页、字迹不清等问题,请及时向裁判示意,并进行任务书的更换。参赛队…

【JVM从入门到实战】(八)垃圾回收(1)

内存泄漏:指的是不再使用的对象在系统中未被回收,内存泄漏的积累可能会导致内存溢出 什么是垃圾回收 Java中为了简化对象的释放,引入了自动的垃圾回收(Garbage Collection简称GC)机制。通过垃 圾回收器来对不再使用的…

什么是缓存击穿、缓存穿透、缓存雪崩?

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

6.鸿蒙app_hap_DevEco如何真机调试模式_app安装在手机中

真机调试 手机》设置》关于手机》HarmonyOS版本》软件版本,连续单击10次启动开发者模式 然后:设置》系统和更新》开发人员选项》打开USB调试功能。 电脑USB连接手机,手机USB连接类型,传文件(不要选择仅充电&#xf…

gitlab ci pages

参考文章 gitlab pages是什么 一个可以利用gitlab的域名和项目部署自己静态网站的机制 开启 到gitlab的如下页面 通过gitlab.ci部署项目的静态网站 # build ruby 1/3: # stage: build # script: # - echo "ruby1"# build ruby 2/3: # stage: build …