![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Docker学习
文章平均质量分 85
Docker学习和实践
小么么么york
这个作者很懒,什么都没留下…
展开
-
Docker EE企业版安装教程
企业需要 Docker 能实现私有化部署。这通常意味着 Docker 需要一个本地化部署方案,并且由企业自己掌控和维护。这还意味着角色和安全功能需要满足企业内部的组织结构,并且在安全部门的监管之下。同时还需要一份重要的售后支持协议。Docker 企业版(Enterprise Edition,EE)应运而生!Docker EE 是企业版的 Docker。其内部包括了上百个引擎、操作界面以及私有安全注册。用户可以本地化部署,并且其中包括了一份支持协议。上层架构如下图所示。Docker EE转载 2021-07-04 16:27:16 · 615 阅读 · 0 评论 -
Docker安全特性
Swarm 模式Swarm 模式是 Docker 未来的趋势。Swarm 模式支持用户集群化管理多个 Docker 主机,同时还能通过声明式的方式部署应用。每个 Swarm 都由管理者和工作者节点构成,节点可以是 Linux 或者 Windows。管理者节点构成了集群中的控制层,并负责集群配置以及工作负载的分配。工作者节点就是运行应用代码的容器。Swarm 模式包括很多开箱即用的安全特性,同时还设置了合理的默认值。这些安全特性包括以下几点。 加密节点 ID。 基于 TLS 的认证...转载 2021-07-04 15:41:04 · 297 阅读 · 0 评论 -
Docker安全
好的安全性是基于分层隔离的,Docker有很多分层。Docker 支持所有主流 Linux 安全机制,同时 Docker 自身还提供了很多简单的并且易于配置的安全技术。接下来主要介绍一些 Docker 中保障容器安全运行的一些技术。安全本质就是分层!拥有更多的安全层,就能拥有更多的安全性。下图展示了一部分安全技术。Linux Docker 利用了大部分 Linux 通用的安全技术。包括命名空间(Namespace)、控制组(CGroup)、系统权限(Capability),强制访问控制(MA转载 2021-07-04 14:59:59 · 443 阅读 · 0 评论 -
Docker Stack
大规模场景下的多服务部署和管理是一件很难的事情。Docker Stack 为解决该问题而生,Docker Stack 通过提供期望状态、滚动升级、简单易用、扩缩容、健康检查等特性简化了应用的管理,这些功能都封装在一个完美的声明式模型当中。在笔记本上测试和部署简单应用很容易。但这只能算业余选手。在真实的生产环境进行多服务的应用部署和管理,这才是专业选手的水平。幸运的是,Stack 正为此而生!Stack 能够在单个声明文件中定义复杂的多服务应用。Stack 还提供了简单的方式来部署应用并管理其完整的生转载 2021-06-18 17:31:09 · 1581 阅读 · 0 评论 -
Docker卷与持久化数据
数据主要分为两类,持久化的与非持久化的。持久化数据是需要保存的数据。例如客户信息、财务、预定、审计日志以及某些应用日志数据。非持久化数据是不需要保存的那些数据。两者都很重要,并且 Docker 均有对应的支持方式。每个 Docker 容器都有自己的非持久化存储。非持久化存储自动创建,从属于容器,生命周期与容器相同。这意味着删除容器也会删除全部非持久化数据。如果希望自己的容器数据保留下来(持久化),则需要将数据存储在卷上。卷与容器是解耦的,从而可以独立地创建并管理卷,并且卷并未与任意容器生命周转载 2021-06-18 10:10:25 · 264 阅读 · 0 评论 -
Docker overlay覆盖网络及VXLAN
在现实世界中,容器间通信的可靠性和安全性相当重要,即使容器分属于不同网络中的不同主机。这也是覆盖网络大展拳脚的地方,它允许创建扁平的、安全的二层网络来连接多个主机,容器可以连接到覆盖网络并直接互相通信。Docker 提供了原生覆盖网络的支持,易于配置且非常安全。其背后是基于 Libnetwork 以及相应的驱动来构建的。Libnetwork 是 CNM 的典型实现,从而可以通过插拔驱动的方式来实现不同的网络技术和拓扑结构。Docker 提供了一些诸如 Overlay 的原生驱动,同时第三方也可以转载 2021-06-17 16:54:48 · 556 阅读 · 0 评论 -
Docker Service Discovery
作为核心网络架构,Libnetwork 还提供了一些重要的网络服务——服务发现。服务发现(Service Discovery)允许容器和 Swarm 服务通过名称互相定位。唯一的要求就是需要处于同一个网络当中。其底层实现是利用了 Docker 内置的 DNS 服务器,为每个容器提供 DNS 解析功能。下图展示了容器“c1”通过名称 ping 容器“c2”的过程。Swarm 服务原理相同。...转载 2021-06-17 15:45:18 · 205 阅读 · 0 评论 -
Docker Macvlan
能够将容器化应用连接到外部系统以及物理网络的能力是非常必要的。常见的例子是部分容器化的应用——应用中已容器化的部分需要与那些运行在物理网络和 VLAN 上的未容器化部分进行通信。Docker 内置的 Macvlan 驱动(Windows 上是 Transparent)就是为此场景而生。通过为容器提供 MAC 和 IP 地址,让容器在物理网络上成为“一等公民”。下图展示了具体内容。...转载 2021-06-17 14:31:00 · 2407 阅读 · 0 评论 -
Docker单机桥接网络
最简单的 Docker 网络就是单机桥接网络。从名称中可以看到两点,单机意味着该网络只能在单个 Docker 主机上运行,并且只能与所在 Docker 主机上的容器进行连接,桥接意味着这是 802.1.d 桥接的一种实现(二层交换机)。Linux Docker 创建单机桥接网络采用内置的桥接驱动,而 Windows Docker 创建时使用内置的 NAT 驱动。实际上,这两种驱动工作起来毫无差异。下图展示了两个均包含相同本地桥接网络 mynet 的 Docker 主机。虽然网络是相同的,但却是两转载 2021-06-17 13:58:09 · 933 阅读 · 0 评论 -
Docker网络简介
网络已经无处不在。每当基础设施出现问题时,被抱怨的通常是网络,很大一部分原因是,网络负责连接一切——无网络,无 APP!在 Docker 早期阶段,网络设计确实非常复杂,那时候配置网络几乎是一种乐趣。Docker 在容器内部运行应用,这些应用之间的交互依赖于大量不同的网络,这意味着 Docker 需要强大的网络功能。幸运的是,Docker 对于容器之间、容器与外部网络和 VLAN 之间的连接均有相应的解决方案。后者对于那些需要跟外部系统(如虚拟机和物理机)的服务打交道的容器化应用来说至关重要。转载 2021-06-17 11:41:10 · 124 阅读 · 0 评论 -
Docker Swarm
Swarm 是 Docker 官方提供的一款集群管理工具,其主要作用是把若干台 Docker 主机抽象为一个整体,并且通过一个入口统一管理这些 Docker 主机上的各种 Docker 资源。Swarm 和 Kubernetes 比较类似,但是更加轻,具有的功能也较 kubernetes 更少一些。Docker Swarm 包含两方面:一个企业级的 Docker 安全集群,以及一个微服务应用编排引擎。集群方面,Swarm 将一个或多个 Docker 节点组织起来,使得用户能够以集群方式管理它们。转载 2021-06-17 11:22:31 · 141 阅读 · 0 评论 -
Docker Compose
Docker Compose 与 Docker Stack 非常类似。它能够在 Docker 节点上,以单引擎模式(Single-Engine Mode)进行多容器应用的部署和管理。多数的现代应用通过多个更小的服务互相协同来组成一个完整可用的应用。比如一个简单的示例应用可能由如下 4 个服务组成。 Web前端。 订单管理。 品类管理。 后台数据库。将以上服务组织在一起,就是一个可用的应用。部署和管理繁多的服务是困难的。而这正是 Docker Compose 要...转载 2021-06-16 19:19:16 · 183 阅读 · 0 评论 -
Dockerfile
使用 Docker 中的docker image build 命令会读取 Dockerfile,并将应用程序容器化。Dockerfile 由一行行命令语句组成,并支持以 # 开头的注释行。例如:# Test web-app to use with Pluralsight courses and Docker Deep Dive book# Linux x64FROM alpineLABEL maintainer="nigelpoulton@hotmail.com"# Install No转载 2021-06-16 16:38:45 · 65 阅读 · 0 评论 -
Docker容器
容器是镜像的运行时实例。用户也同样可以从单个镜像上启动一个或多个容器。虚拟机和容器最大的区别是容器更快并且更轻量级——与虚拟机运行在完整的操作系统之上相比,容器会共享其所在主机的操作系统/内核。下图为使用单个 Docker 镜像启动多个容器的示意图。...转载 2021-06-15 18:14:47 · 2226 阅读 · 0 评论 -
Docker镜像
如果曾经做过 VM 管理员,则可以把 Docker 镜像理解为 VM 模板,VM 模板就像停止运行的 VM,而 Docker 镜像就像停止运行的容器;而作为一名研发人员,则可以将镜像理解为类(Class)。首先需要先从镜像仓库服务中拉取镜像。常见的镜像仓库服务是 Docker Hub,但是也存在其他镜像仓库服务。拉取操作会将镜像下载到本地 Docker 主机,可以使用该镜像启动一个或者多个容器。镜像由多个层组成,每层叠加之后,从外部看来就如一个独立的对象。镜像内部是一个精简的操作系统(OS),同转载 2021-06-15 16:52:13 · 170 阅读 · 0 评论 -
Docker引擎
Docker 引擎是用来运行和管理容器的核心软件。通常人们会简单地将其代指为 Docker 或 Docker 平台。如果你对 VMware 略知一二,那么可以将 Docker 引擎理解为 ESXi 的角色。基于开放容器计划(OCI)相关标准的要求,Docker 引擎采用了模块化的设计原则,其组件是可替换的。从多个角度来看,Docker 引擎就像汽车引擎——二者都是模块化的,并且由许多可交换的部件组成。汽车引擎由许多专用的部件协同工作,从而使汽车可以行驶,例如进气管、节气门、气缸、火花塞、排气转载 2021-06-15 15:18:10 · 118 阅读 · 0 评论 -
开发人员角度看docker
容器即应用!以 Linux 为例进行演示。示例中 Web 应用代码下载:https://pan.baidu.com/s/150UgIJPvuQUf0yO3KBLegg 提取码:pkx4转载 2021-06-15 14:46:42 · 94 阅读 · 0 评论 -
运维人员角度看docker
从运维的角度需要掌握 Docker 的镜像下载、运行新的容器、登录新容器、在容器内运行命令,以及销毁容器。当我们安装 Docker 的时候,会涉及两个主要组件:Docker 客户端和 Docker daemon(有时也被称为“服务端”或者“引擎”)。daemon 实现了 Docker 引擎的 API。使用 Linux 默认安装时,客户端与 daemon 之间的通信是通过本地 IPC/UNIX Socket 完成的(/var/run/docker.sock);在 Windows 上是通过名为 np转载 2021-06-15 13:35:56 · 303 阅读 · 0 评论 -
Docker存储驱动
Docker Storage Driver每个 Docker 容器都有一个本地存储空间,用于保存层叠的镜像层(Image Layer)以及挂载的容器文件系统。默认情况下,容器的所有读写操作都发生在其镜像层上或挂载的文件系统中,所以存储是每个容器的性能和稳定性不可或缺的一个环节。以往,本地存储是通过存储驱动(Storage Driver)进行管理的,有时候也被称为 Graph Driver 或者 GraphDriver。虽然存储驱动在上层抽象设计中都采用了栈式镜像层存储和写时复制(Copy-o转载 2021-06-15 10:47:13 · 552 阅读 · 0 评论 -
Docker的安装和升级引擎
1. 安装docker本机按照vmware16和ubuntu20在ubuntu里面安装docker,打开shell$ wget -qO- https://get.docker.com/ | sh获取并运行 Docker 安装脚本,然后采用 Shell 中管道(pipe)的方式来执行这个脚本。提示了无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正占用它?采用以下命令先解锁,再执行上面的脚本sudo rm /var/lib/d.转载 2021-06-15 10:05:59 · 545 阅读 · 0 评论 -
Docker初步-Docker的历史
Docker的历史一种运行于 Linux 和 Windows 上的软件,用于创建、管理和编排容器。是在 GitHub 上开发的 Moby 开源项目的一部分。公司,位于旧金山,是整个 Moby 开源项目的维护者。Docker 公司还提供包含支持服务的商业版本的 Docker。...转载 2021-06-15 09:51:57 · 100 阅读 · 0 评论