docker笔记

容器技术

应用程序仅由较少数量的大组件构成时,可以给每个组件分配专用的虚拟机来隔离他们的环境。但是,组件更小,数量更多时,继续使用虚拟机来隔离得话,会浪费硬件资源,增加人力资源。

Linux容器技术隔离组件

虚拟机和容器
虚拟机
  • 管理程序将物理资源分成较小部分的虚拟硬件资源,从而被虚拟机中的操作系统使用。
  • 系统调用:运行在虚拟机中的应用程序,会执行虚拟机操作系统的系统调用。虚拟机操作系统通过管理程序在宿主机上的物理CPU执行x86指令。
虚拟机和容器对比
  • 容器比虚拟机更加轻量级,虚拟机需要运行自己的一组系统进程,容器不需要。使用容器时,能够也应该让每个应用有一个容器
  • 多个容器会完全执行运行在宿主机上的同一个内核的系统调用。而虚拟机提供完全隔离的环境,每个虚拟机运行在自己的Linux内核。(虚拟机的优点)
  • 运行容器不需要像运行虚拟机一样开机,容器进程可以很快被启动。

容器实现隔离原理

Linux命名空间
  • 使每个进程只看到自己的系统视图(文件、进程、网络接口、主机名等)
Linux控制组cgroups

限制进程能够使用的资源量

docker

什么是docker? docker是一个快速交付,运行应用的容器化技术
docker解决了项目部署过程中的一些问题

  • 大型项目组件多,依赖关系复杂,容易出现兼容性问题. docker将Libs(函数库)、Deps(依赖)、配置与应用一起打包,放到隔离的容器中
  • 开发、测试、生产环境有差异 docker将用户程序与所需要调用的系统库函数一起打包,基于打包的系统库函数,调用内核指令

基本概念

  • 镜像 Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像
  • 容器 镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对外不可见
  • 仓库 eg.:DockerHub是一个Docker镜像的托管平台

C/S架构模式

  • Docker客户端 发送命令或者请求到Docker服务端

  • Docker主机 一个物理或者虚拟的机器用于执行 Docker 守护进程。

docker镜像是如何构建的?

1.Docker的客户端和守护进程不要求在同一台机器上
2.Docker客户端将 整个目录的文件上传到Docker守护进程
3.由Docker守护进程构建新的镜像

tips: 不要在构建目录中包含任何不需要的文件,尤其当Docker守护进程运行在一个远端机器的时候。

docker容器的镜像层

docker镜像由多层构成 docker镜像和虚拟机镜像的一个很大的不同就在于:容器镜像是由多层构成。docker镜像能够在多个镜像之间共享和征用。共享:基于相同基础层的镜像被创建成两个容器时,他们能够读相同的文件。但,容器镜像是只读的,其中一个容器写入某些文件对另外的容器是不可见的。层不仅使得镜像在网络上的分发效率提高,还有助于减少镜像的存储空间。

  • Dockerfile中每一条单独的指令都会创建一个新层。
docker 命令
docker 网络

docker如何处理容器网络访问?
docker0
ip addr Linux命令,查看本机地址

l0 本机回环地址
eth0 阿里云内网地址
docker0 docker0地址

在容器中查看地址:

docker容器间ping
tomcat01 ping tomcat02

容器启动的时候会得到eth@if262 ip地址(docker分配的)

  • 每启动一个docker容器,docker就会给容器分配一个ip
  • 安装了docker,就会有一个docker0网卡(桥接模式,使用evth-pair技术)
  • evth-pair 一对虚拟设备接口,成对出现,充当桥梁,连接各种虚拟网络设备
  • 容器删除,对应的网桥也删除了
–link

不好用

自定义网络

网络模式:

  • bridge
  • none
  • host

自定义网络,不需要使用 --link 就能够使用名字ping

docker run时,默认有 --net bridg

dockerCompose
  • DockerCompose可用基于Compose文件帮我们快速部署分布式应用
  • Compose文本文件通过指令定义集群中容器如何运行

Kubernetes

Kubernets集群架构

一个Kubernets集群由很多节点组成。

  • 主节点:承载Kubernetes控制和管理整个集群系统的控制面板
  • 工作节点:运行用户实际部署的应用
控制面板
  • Kubernetes API服务器
  • Scheculer:调度应用,为应用的每个可部署组件分配一个工作节点
  • Controller Manager: 执行集群级别的功能,复制组件、持续跟踪工作节点、处理节点失败
  • etcd: 一个可靠的分布式数据存储,能持久化存储集群配置。
工作节点
  • Docker rtk 或其他的容器类型
  • Kubelet: 与API服务器通信,并管理它所在节点的容器
  • kube-proxy: 负责组件间的负载均衡网络流量

式数据存储,能持久化存储集群配置。

工作节点
  • Docker rtk 或其他的容器类型
  • Kubelet: 与API服务器通信,并管理它所在节点的容器
  • kube-proxy: 负责组件间的负载均衡网络流量
### 回答1: 要下载Docker笔记,首先需要了解Docker是什么以及其使用场景。 Docker是一种开源的容器化平台,可以帮助用户打包、部署和运行应用程序。通过使用容器化技术,用户无需担心运行环境的差异,可以将应用程序和其依赖项打包到一个可移植的容器中,随时在不同的环境中运行。 要下载Docker笔记,可以按照以下几个步骤进行操作: 1. 首先,需要在计算机上安装Docker。可以从Docker官方网站(https://www.docker.com/)上下载适合自己操作系统的Docker安装包,并按照安装指南进行安装。 2. 安装完成后,需要启动Docker服务。根据操作系统的不同,可以在启动菜单或终端中找到Docker应用程序,并点击打开。在Docker控制台中,可以查看、管理容器以及进行其他操作。 3. 接下来,需要搜索并下载Docker笔记的镜像。可以使用Docker Hub(https://hub.docker.com/)这个官方的镜像仓库,搜索关键词以找到合适的笔记镜像。在搜索结果中,会显示镜像的名称、描述、标签等信息,选择一个合适的镜像。 4. 找到想要下载的笔记镜像后,可以使用Docker命令行工具或Docker控制台中的图形界面来下载镜像。通过输入命令`docker pull 镜像名称:标签`,即可下载对应的笔记镜像到本地。 5. 下载完成后,可以使用`docker images`命令在本地查看已下载的镜像列表。根据下载的笔记镜像的名称和标签,可以使用`docker run`命令来创建并启动一个容器,从而运行笔记。 通过以上步骤,就可以成功下载Docker笔记并在本地运行。希望这些信息对您有帮助! ### 回答2: 要下载Docker笔记,首先需要知道从哪里获取这些笔记Docker有一个官方文档网站,其中包含了大量关于Docker的技术文档、教程和示例以及各种使用场景的说明。用户可以访问Docker官方网站,在文档部分进行浏览和搜索,找到所需的笔记。 在Docker官方文档网站上,用户可以按照主题、标签或关键字进行检索,以找到相关的笔记。网站还提供了各种文件格式的下载选项,包括PDF、EPUB和HTML版本,用户可以根据自己的使用习惯选择适合的格式进行下载。 此外,还有一些第三方资源库和网站提供了Docker相关的笔记下载。例如GitHub上有很多开源项目,其中包含了Docker的使用笔记和示例代码。用户可以通过在GitHub上搜索关键字"Docker笔记"或"Docker notes"来找到相关的项目,然后根据项目的说明进行下载。 总之,下载Docker笔记可以通过Docker官方文档网站或第三方资源库进行。用户可以根据自己的需求和偏好选择下载适合自己的格式和来源。 ### 回答3: 要下载 Docker 笔记,首先需要确保已经安装了 Docker 客户端工具。然后按照以下步骤进行下载: 1. 打开终端或命令提示符,输入以下命令来下载 Docker 笔记Docker 镜像: ``` docker pull [镜像名称] ``` 这里的 `[镜像名称]` 是 Docker Hub 上提供的 Docker 镜像名称,可以根据需要搜索并选择合适的镜像。 2. 等待镜像下载完成后,使用以下命令来创建和运行一个 Docker 容器,并将笔记下载到本地: ``` docker run -it --name [容器名称] [镜像名称] [下载命令] ``` 这里的 `[容器名称]` 是用于标识容器的名称,`[下载命令]` 是具体的下载命令,可以根据下载方式的不同进行相应的设置。 3. 等待下载完成后,可以使用以下命令来停止并删除容器: ``` docker stop [容器名称] docker rm [容器名称] ``` 这里的 `[容器名称]` 是之前创建容器时指定的名称。 通过以上步骤,你就可以成功下载 Docker 笔记到本地了。记得根据实际需求选择适合的 Docker 镜像和下载命令,同时也可以通过 Docker Hub 上的文档和社区提供的资源,了解更多有关 Docker 的使用方法和技巧。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值