容器

kubernetes是什么

谁都会走 提交于 2019-12-24 12:06:41
首先,它是全新的基于容器技术(docker,rocket)的分布式架构领先方案 。是谷歌保密了十几年的秘密武器-borg的一个开源版本。borg是谷歌内部使用的大规模集群管理系统。 其次,kubernetes的设计思想是全自动管理,不必再费心于负载均衡器的选型和部署实施问题,不必再考虑引入或自己开发一个复杂的服务管理框架,也不必头疼于服务监控和故障处理模块的开发,将精力更加集中于业务本身,由于k8s提供了强大的自动化机制,所以系统后期的运维难度和成本大大降低。 然后,k8s是一个开放的开发平台,并不局限任何一种语言,也没有限制任何编程接口,无论java,go,c++还有python编写的服务,都可以毫无困难地映射为k8s的service。通过标准的TCP通信协议进行交互。 最后,k8s是一个完备的分布式系统支撑平台,具有完善的集群管理能力,强大的故障发现和自我修复,服务滚动升级和在线扩容能力。 接下来介绍一些k8s的基本知识。 在k8s中,service服务是分布式集群架构的核心,一个service对象拥有如下特征: 1.拥有一个唯一指定的名字(比如mysql-server) 2.拥有一个虚拟IP(ClusterIP、serviceIP或VIP)和端口号。 3.能够提供远程服务能力。 4.被映射到了提供这种服务能力的一组容器应用上。

微服务架构Day39-Docker容器基础用法

萝らか妹 提交于 2019-12-24 09:39:50
Docker容器基础用法 Docker体系结构 Docker程序环境 Docker常用命令 Docker体系结构 The Docker Daemon: Docker Daemon 负责监听 Docker API 请求 管理Docker对象: 镜像: Image.静态的,不会运行 镜像是一个创建Docker容器的只读的指令模版 一个镜像通常是基于另一个镜像的 可以创建自定义的镜像 容器: Container.动态的,有生命周期 容器是镜像的一个运行实例 可以使用Docker API或者CLI命令行界面创建,运行,停止,移动和删除一个容器 可以连接Docker容器到一个或多个网络,连接存储到容器,或者基于容器的当前状态创建一个新镜像 网络 : Network 容器卷: Volume.持久化存储 插件 : Plugins The Docker Client: Docker Client 是用户和 Docker 进行交互的工具 Docker命令使用 Docker API Docker Registries: Docker Registry 负责保存 Docker 镜像 Docker Hub 和 Docker Cloud 是公开的Docker仓库,Docker默认从 Docker Hub 上搜索镜像 可以运行私有的仓库 Docker程序环境 docker-ce的配置文件: /etc

podman初试-和docker对比

馋奶兔 提交于 2019-12-24 08:08:48
podman初试-和docker对比 1,什么是docker? Docker 是一个开源的应用容器引擎,属于 Linux 容器的一种封装,Docker 提供简单易用的容器使用接口,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。容器是完全使用沙箱机制,相互之间不会有任何接口。 2,什么是Podman? Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用。Podman 提供与 Docker 非常相似的功能。正如前面提到的那样,它不需要在你的系统上运行任何守护进程,并且它也可以在没有 root 权限的情况下运行。 Podman 可以管理和运行任何符合 OCI(Open Container Initiative)规范的容器和容器镜像。Podman 提供了一个与 Docker 兼容的命令行前端来管理 Docker 镜像。 Podman 官网地址: https://podman.io/ Podman 项目地址: https://github.com/containers/libpod 3,Podman 和docker不同之处? docker 需要在我们的系统上运行一个守护进程(docker daemon),而podman 不需要 启动容器的方式不同: docker cli 命令通过API跟 Docker

Docker基本部署及基本控制命令(理论篇)

╄→尐↘猪︶ㄣ 提交于 2019-12-24 07:57:39
Docker基本部署及基本控制命令 Docker概述 ​ Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,两者之间完全独立。 与虚拟机的比较 特性 容器 虚拟机 启动速度 秒级 分钟级 硬盘使用 一般为MB 一般为GB 性能 接近原生 弱于原生 系统支持量 单击支持上千个容器 一般几十个 隔离性 完全屏蔽底层 相对独立 Docker核心概念 镜像(Image): 类似虚拟机镜像 容器(Container): 类似linux系统环境,运行和隔离应用。容器从镜像启动的时候,docker会在镜像的最上一层创建一个可写层,镜像本身是只读的,保持不变。 仓库(Repository): 每个仓库存放某一类镜像。 容器、仓库、镜像运行关系图: Docker基本部署 1、安装环境包 [root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 2、使用阿里的docker仓库 [root@localhost ~]# yum-config-manager --add-repo https://mirrors.aliyun.com

docker的简单使用

家住魔仙堡 提交于 2019-12-24 05:25:31
首先是先输入Hello World Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。 root@localhost dk]# docker run ubuntu:15.10 /bin/echo "Hello world" Hello world 各个参数解析: docker: Docker 的二进制执行文件。 run: 与前面的 docker 组合来运行一个容器。 ubuntu:15.10 指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。 /bin/echo "Hello world": 在启动的容器里执行的命令 以上命令完整的意思可以解释为:Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果。 运行交互式的容器 我们通过docker的两个参数 -i -t,让docker运行的容器实现"对话"的能力 root@localhost dk]# docker run -i -t ubuntu:15.10 /bin/bash root@dc0050c79503:/# 各个参数解析: -t: 在新容器内指定一个伪终端或终端。 -i: 允许你对容器内的标准输入

docker常用命令收纳

こ雲淡風輕ζ 提交于 2019-12-24 04:38:45
文章目录 在容器内运行一个应用程序 运行交互式的容器 以进程方式运行的容器 获取镜像 查看在运行的容器 查看容器内的标准输出 停止容器 启动容器 重启容器 进入容器 删除容器 端口映射 在容器内运行一个应用程序 docker run <image> <command> 例如: docker run ubuntu:15.10 /bin/echo "Hello world" ,Docker 以 ubuntu 15.10 创建一个新容器,然后在容器里执行 /bin/echo “Hello world”。 运行交互式的容器 docker run -i -t <image> <command> 以进程方式运行的容器 docker run -d <image> <command> 获取镜像 docker pull ubuntu 查看在运行的容器 docker ps 查看容器内的标准输出 docker logs <容器ID> 停止容器 docker stop <容器ID> 启动容器 docker start <容器ID> 重启容器 docker restart <容器ID> 进入容器 docker attach <容器ID> ,从这个容器退出,会导致容器停止; 推荐用法 : docker exec -it <容器ID> /bin/bash ,从这个容器退出,不会导致容器停止。 删除容器

docker 学习笔记21:docker连接网络的设置

為{幸葍}努か 提交于 2019-12-24 02:18:47
1、 如果docker主机不需要通过代理连接外网 则docker的相关命令(如docker search)或docker容器与网络相关的操作都可以正常进行,不需要特殊设置。 2、 当docker主机 是通过代理才能连接外网时,采用服务方式启动守护进程 如果docker守护进程是通过服务的方式启动的(sudo start docker) 当我们执行如 docker search ubuntu 命令时,会报错 Error response from daemon: Get https://index.docker.io/v1/search?q=ubuntu: dial tcp: lookup index.docker.io on 127.0.1.1:53: read udp 127.0.1.1:53: i/o timeout 而且这时启动的容器,在容器内也无法连接外网。 需要通过设置来完成。 3、 当docker主机 是通过代理才能连接外网时,让docker守护进程可连接外网,非服务启动方式 通过如下方式启动docker守护进程 sudo HTTP_PROXY=http://代理地址:端口 docker daemon 这时执行如 docker search ubuntu 命令时,可以成功。 注意,这并不需要docker主机自己设置代理上网

Docker基本管理

末鹿安然 提交于 2019-12-24 01:07:26
Docker基本管理 文章目录 Docker核心概念 Docker镜像操作 Docker容器操作 Docker概述 Docker是什么? 是一种轻量级的“虚拟机” 在Linux容器里运行应用的开源工具 Docker的使用场景 打包应用程序简化部署 可脱离底层硬件任意迁移 Docker的核心概念及安装方式 Docker核心概念 镜像 容器 仓库 公有仓库:官方提供 私有仓库:私人搭建 CentOS安装Docker的两种方式 使用CURL获得Docker的安装脚本进行安装 使用YUM仓库来安装Docker 安装Docker及基本管理 主机 操作系统 IP地址 主要软件 服务器 CentOS7 192.168.45.129 Docker-19.003.0-ce 需求描述 安装Docker 完成最基本的Docker操作管理(创建、启动、参数等) 完成Docker创建资源控制及数据卷管理 安装Docker #安装依懒包 yum install - y yum - utils device - mapper - persistent - data lvm2 #设置阿里云镜像版 yum - config - manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #安装docker

CSS揭秘:背景与边框(3)~灵活的背景定位

喜夏-厌秋 提交于 2019-12-24 00:29:41
灵活的背景定位 难题 如果想要针对容器某个角对背景图片做偏移定位。如右下角,在CSS2.1中,我们只能指定距离左上角的偏移量,或者直接完全靠齐到其他三个角。但是,我们有时希望图片和容器的边角之间能留出一定的空隙(类似内边距的效果),以免得到如图效果: 对于具有固定尺寸的容器来说,使用CSS2.1来做到这一点事可能的,但很麻烦,基于它自身的尺寸以及我们期望它距离右下角的偏移量,计算出背景图片距离左上角的偏移量,然后再把计算结果设置给background-position。当容器元素的尺寸不固定时(因为内容往往是可变的),这就不可能做到了。网页开发者通常只能把background-position设置为某个接近100%的百分比值,以便近似的得到想要的效果。 但是,借助现代的CSS特性,我们已经拥有了更好的解决方案! background-position的扩展语法方案 在 CSS背景与边框 中,background-position属性已经得到扩展,它允许我们指定背景图片 距离任意角的偏移量 ,只要我们在 偏移量前面指定关键字 。举例来说,如果想让背景图片跟右边缘保持20px的偏移量,同时与底部保持10px的偏移量,结果如图所示: background : url(img/1.jpg) no-repeat #58a ; background-position : bottom 10px

Docker的监控(简单部署Sysdig和Weave Scope)

时光毁灭记忆、已成空白 提交于 2019-12-23 23:56:06
一、Docker的监控 Docker自带的监控命令 简单命令介绍 ps docker container ps 是我们早已熟悉的命令了,方便我们查看当前运行的容器。新版的 Docker 提供了一个新命令 docker container ls,其作用和用法与 docker container ps 完全一样。不过 ls 含义可能比 ps 更准确,所以更推荐使用。 top 如果想知道某个容器中运行了哪些进程,可以执行 docker container top [container] 命令。命令后面还可以跟上 Linux 操作系统 ps 命令的参数显示特定的信息,比如 -au。 stats docker container stats 用于显示每个容器各种资源的使用情况。默认会显示一个实时变化的列表,展示每个容器的 CPU 使用率,内存使用量和可用量。注意:容器启动时如果没有特别指定内存 limit,stats 命令会显示 host 的内存总量,但这并不意味着每个 container 都能使用到这么多的内存。 除此之外 docker container stats 命令还会显示容器网络和磁盘的 IO 数据。默认的输出有个缺点,显示的是容器 ID 而非名字。我们可以在 stats 命令后面指定容器的名称只显示某些容器的数据。比如 docker container stats sysdig