
docker
文章平均质量分 74
junior1206
一个it界不及格的二哈
展开
-
docker daemon 解析
{ "insecure-registries":["10.101.9.4"], "bip": "178.67.0.1/16", "icc": false, "no-new-privileges": true, "hosts": ["unix:///var/run/docker.sock"], "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ],.原创 2022-05-17 19:22:02 · 993 阅读 · 0 评论 -
VMware Harbor 开源的Docker Registry管理项目
一、简介Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它主要提供 Dcoker Registry 管理界面UI,可基于角色访问控制,镜像复制, AD/LDAP 集成,日志审核等功能,完全的支持中文二、功能基于角色的访问控制用户与Docker镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。基于镜像的复制策略镜像可以在多个Registry实例中复制(可以将仓库中的镜像同步到远程的Har.原创 2021-07-09 17:35:57 · 594 阅读 · 0 评论 -
4、Deployment 运行应用,提示Flag --replicas has been deprecated, has no effect and will be removed in the
[root@master ~]# kubectl run httpd-app --image=httpd --replicas=2Flag --replicas has been deprecated, has no effect and will be removed in the future.pod/httpd-app created在K8S v1.18.0以后,–replicas已弃用 ,推荐用 deployment 创建 pods使用yaml文件的方式,创建nginx服务step1:原创 2020-12-08 15:23:13 · 5338 阅读 · 2 评论 -
通过RANCHER安装K8S
通过RANCHER安装K8S说明我们用kubernetes去管理Docker集群,即可以将Docker看成Kubernetes内部使用的低级别组件。另外,kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术。希望我这篇文章中简单的描述能让你对两者有所理解和认识。机器准备两台虚拟机Centos版本需要大于7.5192.168.20.85 master192.168.20.20 node部署流程第一步:修改主机名 启动后第一件事是修改.转载 2020-12-08 14:01:04 · 1288 阅读 · 0 评论 -
CentOS7下利用Rancher搭建K8s集群
什么是RancherRancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。Rancher可以轻松地管理各种环境的Kubernetes,满足IT需求并为DevOps团队提供支持。Kubernetes不仅已经成为的容器编排标准,它也正在迅速成为各类云和虚拟化厂商提供的标准基础架构。Rancher用户可以选择使用Rancher Kubernetes Engine(RKE)创建Kubernetes集群,也可以使用GKE,AKS和EKS等云Kubernetes.转载 2020-12-08 13:45:31 · 871 阅读 · 0 评论 -
docker启动关闭删除所有的容器命令
1、启动所有容器docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)2、关闭所有容器docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)3、删除所有容器docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)4、删除所有镜像(慎用)docker rmi $(docker ima原创 2020-12-08 13:05:17 · 883 阅读 · 1 评论 -
3、kubeadm部署Kubernetes 网络插件flannel、Calico、weave 并设置集群角色
Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展。 Kubernetes不仅支持Docker,还支持Rocket,这是另一种容器技术。使用Kubernetes可以实现如下功能:自动化容器的部署和复制; 随时扩展或收缩容器规模; 将容器组织成组,并且提供容器间的负载均衡; 很容易地升级应用程序容器的新版本; 提供容器弹性,如果容器失效就替换它等。一、环境信息名称 IP地址 主机名 节点角色 master ..原创 2020-11-02 17:16:40 · 6475 阅读 · 0 评论 -
2、k8s 重要概念1
Kubernetes 的几个重要概念,它们是组成 Kubernetes 集群的基石。ClusterCluster 是计算、存储和网络资源的集合,Kubernetes 利用这些资源运行各种基于容器的应用。MasterMaster 是 Cluster 的大脑,它的主要职责是调度,即决定将应用放在哪里运行。Master 运行 Linux 操作系统,可以是物理机或者虚拟机。为了实现高可用,可以运行多个 Master。NodeNode 的职责是运行容器应用。Node 由 Master 管理,N...原创 2020-05-21 13:04:29 · 294 阅读 · 0 评论 -
1、在kubernetes.io创建k8s集群访问应用Scale 增删副本,滚动更新
AWS、Azure、Google、阿里云、腾讯云等主流公有云提供的是基于 Kubernetes 的容器服务;Rancher、CoreOS、IBM、Mirantis、Oracle、Red Hat、VMWare 等无数厂商也在大力研发和推广基于 Kubernetes 的容器 CaaS 或 PaaS 产品。可以说,Kubernetes 是当前容器行业最炙手可热的明星。kubernetes.io 开发了一个交互式教程,通过 Web 浏览器就能使用预先部署好的一个 kubernetes 集群,快速体验 kuber原创 2020-05-18 22:47:59 · 1198 阅读 · 0 评论 -
docker(11、Docker Swarm5) 17、什么是 stack 18、如何使用stack 19、stack 的优势 20 、删除搭建好的Docker Swarm集群
17 、什么是 stack ?在将这个之前先回顾一下前面部署WordPress的过程: 1、创建secret 2、创建mysql service 3、创建WordPress service也就是说,这个应用包含了两个service ; mysql + wordpress 。他们之间有明确的依赖关系,必须先启动mysql。为了保证这个依赖关系,我们控制了 docker secret 和 docker service 命令的执行顺序,只不过这个过程是手工完成的。假如我们...原创 2020-05-18 15:59:28 · 475 阅读 · 0 评论 -
docker(11、Docker Swarm4)14、如何使用 Secret 15、Secret 的使用场景 16、通过案例学习 Secret
14、如何使用 Secret我们经常要想容器传递敏感信息,最常见的就是密码。比如:docker run -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql在启动Mysql容器时,我们通过环境变量 MYSQL_ROOT_PASSWORD设置mysql的管理员密码。不过密码是以明文的形式写在了dockerrun命令中,有潜在的安全隐患。为了解决这个问题,dockerswarm提供了secret机制,允许将敏感信息加密后保存到secr...原创 2020-05-18 14:48:26 · 583 阅读 · 0 评论 -
docker(11、Docker Swarm4)11、副本数量(replicated 和 global )12、Label 控制 Service 的位置 13、如何配置 Health Check
11、副本数量模式(replicated mode 和 global mode)Swarm可以在Service创建和运行过程中灵活的通过 --replicas调整容器副本数量,内部调度器则会根据当前集群的资源使用情况在不同的node上启停容器,这就是Service默认的replicatedmode 。在此模式下,node上运行的副本数有多有少,一般情况下,资源更丰富的node运行的副本数更多,反之亦然。除了replicatedmode ,Service还提供了一个glo...原创 2020-05-18 12:20:52 · 4076 阅读 · 0 评论 -
docker(11、Docker Swarm3)8、Service 之间通信 9、如何滚动更新 Service 10、Swarm 如何管理数据 、验证 Swarm 数据持久性
8、Service 之间通信微服务架构的应用由若干 service 组成。比如有运行 httpd 的 web 前端,有提供缓存的 memcached,有存放数据的 mysql,每一层都是 swarm 的一个 service,每个 service 运行了若干容器。在这样的架构中,service 之间是必然要通信的服务发现一种实现方法是将所有 service 都 publish 出去,然后通过 routing mesh 访问。但明显的缺点是把 memcached 和 mysql 也暴露到外网,增加了原创 2020-05-13 15:36:02 · 892 阅读 · 0 评论 -
docker(11、Docker Swarm2) 5、Swarm 如何实现 Failover 6、如何访问 Service 7、swarm 的 routing mesh
5、Swarm 如何实现 Failover故障是在所难免的,容器可能崩溃,Docker Host可能宕机,不过幸运的是,Swarm已经内置了failover策略创建Service的时候,我们没有告诉swarm发生故障时该如何处理,只是说明了我们期望的状态(比如 3份副本),swarm会尽最大努力达成这个期望的状态,无论发生什么状况。[root@swarm-manager ...原创 2020-05-12 15:07:10 · 577 阅读 · 0 评论 -
docker(11、Docker Swarm1)1、Swarm 的概念 2、创建swarm集群 3、运行第一个 Service 4、实现 Service 伸缩
1、Swarm 的概念从主机层面来看,DockerSwarm管理的是DockerHost集群。所以先来讨论一个重要的概念 -集群化(Clustring)服务器集群由一组网络上相互连接的服务器组成,它们一起协同工作。一个集群和一堆服务器最显著的区别在于: 集群能够像单个系统那样工作,同时提供高可用、负载均衡和并行处理。如果我们部署应用和服务时选择的是多个独...原创 2020-05-05 16:52:49 · 766 阅读 · 0 评论 -
docker轻量级管理工具portainer
docker轻量级管理工具portainer首先安装dockerwget https://download.docker.com/linux/centos/docker-ce.repomv docker-ce.repo /etc/yum.repos.dyum install -y docker-cesystemctl start docker && systemct...原创 2020-05-05 13:53:49 · 299 阅读 · 0 评论 -
docker端口映射或启动容器时报错Error response from daemon: driver failed programming external connectivity on end
现象:[root@localhost ~]# docker run -d -p 9000:80 centos:httpd /bin/sh -c /usr/local/bin/start.shd5b2bd5a7bc4895a973fe61efd051847047d26385f65c278aaa09e4fa31c4d76docker: Error response from daemon: ...原创 2020-05-05 13:10:00 · 535 阅读 · 0 评论 -
docker(10、日志管理4)5、Graylog 日志系统(1、部署Graylog日志系统,2、Graylog管理日志)
部署Graylog日志系统Graylog是与ELK可以相提并论的一款几种式日志管理方案,支持数据收集、检索、可视化Dashboard。将实践用Graylog来管理Docker日志Graylog 架构Graylog 架构如下图所示:Graylog 负责接收来自各种设备和应用的日志,并未用户提供Web访问接口。Elasticsearch 用于索引和保存 Graylog接...原创 2020-05-05 13:08:37 · 1273 阅读 · 0 评论 -
docker(10、日志管理3 )4、数据收集器 Fluentd
ELK中我们使用的是Filebeat收集Docker日志,利用的是默认的loggingdriverjson-file。下面使用fluentd来收集容器的日志Fluentd是一个开源的数据收集器,他目前有超过500中的plugin,可以连接各种数据源和数据输出组件。Fluentd会负责收集容器日志,然后发送给Elasticsearch。日志的处理流程如下:用 Filebe...原创 2020-04-29 20:24:06 · 403 阅读 · 0 评论 -
docker(10、日志管理2 )3、ELK日志分析系统
在开源的日志管理方案中,最出名的莫过于ELK了。ELK是三个软件的合称:Elasticsearch、Logstash、Kibana。服务器版的安装部署:https://blog.51cto.com/14449541/2461909 https://www.cnblogs.com/sunsing123/p/109128...原创 2020-04-29 17:58:51 · 294 阅读 · 0 评论 -
脚本自动安装CentOS7上无人值守安装Zabbix4.2
#!/bin/bash# 检查操作系统版本,该脚本只能运行在 Centos 7.x 系统上cat /etc/redhat-release |grep -i centos |grep '7.[[:digit:]]' >/dev/nullif [[ $? != 0 ]] then echo -e "不支持的操作系统,该脚本只适用于CentOS 7.x x86_64...原创 2020-04-27 15:45:22 · 262 阅读 · 0 评论 -
docker(10、日志管理1 )1、 Docker logs 2、Docker 支持多种日志方案driver
高效的监控和日志管理对保持生产系统只需稳定的运行以及排查问题至关重要。在微服务架构中,由于容器的数量众多以及快速变化的特性,使得记录日志和监控变的重要起来。考虑到容器短暂和不固定的生命周期,我们需要debug问题时有些容器可能已经不在了。因此,一套集中式的日志管理系统是生产环境中不可缺少的组成部分。本章我们将学习监控容器的各种可用技术和方案,首先会介绍Docker自带的logs子命...原创 2020-04-27 15:06:22 · 499 阅读 · 0 评论 -
docker(9、容器监控6 )Docker 监控方案总结
ps/top/stats、Sysdig、Weave Scope、cAdvisor和Prometheus多种容器监控工具和方案,是时候做一个比较了。下面将从五个方面来对比它们之间的优劣。部署容易度ps/top/stats 无疑是最容易使用的,它们是 Docker 自带的子命令,随时随地都可以用来快速了解容器的状态。其余几种也都能以容器的方式运行,总的来说都不算复杂。相对而言,Prome...原创 2020-04-26 16:29:24 · 417 阅读 · 0 评论 -
docker(9、容器监控5) 5、Prometheus 架构 6、Prometheus的优势特点 7、安装部署
Prometheus 是一个非常优秀的监控工具。准确的说,应该是监控方案。Prometheus 提供了监控数据搜集、存储、处理、可视化和告警一套完整的解决方案。一 、Prometheus架构Prometheus重要组件的架构如下:官网上的原始架构图比上面这张要复杂一些,只保留了最重要的组件。Prometheus Server负责从Exporter拉取和存储监控数据,并提供...原创 2020-04-26 16:24:53 · 385 阅读 · 0 评论 -
docker(9、容器监控4) 4、数据收集利器 cAdvisor
cAdvisor 是 google 开发的容器监控工具安装和体验cAdvisor[root@localhost ~]# cat in_cAdvisor.sh docker run \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:rw \ --volume=/sys:/sys:ro \ --volume=/var...原创 2020-04-26 12:30:16 · 406 阅读 · 0 评论 -
docker(9、容器监控3) 3、Weave Scope 容器地图 4、Weave Scope 多主机监控
一、WeaveScope的最大特点是会自动生成一张Docker容器地图,让我们能够直接的理解、监控和控制容器。实践 Weave Scope。安装执行如下脚本安装运行 Weave Scope。curl -L git.io/scope -o /usr/local/bin/scopechmod a+x /usr/local/bin/scopescope launch...原创 2020-04-24 15:26:56 · 490 阅读 · 0 评论 -
docker(9、容器监控2) 2、监控利器 sysdig
sysdig 是一个轻量级的系统监控工具,同时它还原生支持容器。通过 sysdig 我们可以近距离观察 linux 操作系统和容器的行为。Linux 上有很多常用的监控工具,比如 strace,tcpdump,htop, iftop,lsof ......而 sysdig 则是将这些工具的功能集成到一个工具中,并且提供一个友好统一的操作界面。安装和运行sysdig的最简单方法就是运行D...原创 2020-04-24 13:47:22 · 382 阅读 · 0 评论 -
docker(9、容器监控1) 1、常用的容器方案
当Docker部署规模逐步变大后,可视化监控容器环境的性能和健康状态会变得越来越重要,目前比较常用的容器监控工具和方案1、Docker自带的几个监控子命令:ps、top、statsdockercontainerpsroot@host1:~# docker container ls --help root@host1:~# docker container ps -...原创 2020-04-22 15:04:37 · 242 阅读 · 0 评论 -
docker(8、跨 Docker 主机存储1) 跨 Docker 主机存储
从业务数据的角度看,容器可以分为两类:无状态(stateless)容器和有状态(stateful)容器。无状态是指容器在运行过程中不需要保存数据,每次访问的结果不依赖上一次访问,比如提供静态页面的 web 服务器。有状态是指容器需要保存数据,而且数据会发生变化,访问的结果依赖之前请求的处理结果,最典型的就是数据库服务器。简单来讲,状态(state)就是数据,如果容器需要处理并存储数据,...原创 2020-04-21 14:54:26 · 294 阅读 · 0 评论 -
docker(7、容器网络7) Docker 网络总结
Docker 起初只提供了简单的 single-host 网络,显然这不利于 Docker 构建容器集群并通过 scale-out 方式横向扩展到多个主机上。几种主流的方案 - Docker Overlay、Macvlan、Flannel、Weave 和 Calico。现在是时候做个比较了,让大家对各种方案的特点和优势有更深入的理解。如下几个方面比较,大据不同场景选择最合适的方案。网络...原创 2020-04-17 15:11:27 · 460 阅读 · 0 评论 -
docker(8、存储驱动。两类存储资源 )Data Volume (1、 bind mount 2、 docker managed volume)
Data VolumeData Volume 本质上是 Docker Host 文件系统中的目录或文件,能够直接被 mount 到容器的文件系统中挂载的优势特点:1、Data Volume 是目录或文件,而非没有格式化的磁盘(块设备)。2、容器可以读写 volume 中的数据。3、volume 数据可以被永久的保存,即使使用它的容器已经销毁数据层(镜像层和容器层)和 volume ...原创 2021-01-06 15:34:51 · 441 阅读 · 0 评论 -
docker(7、容器网络6) weave 网络 Weave 跨主机的连通和隔离特性
weave 是 Weaveworks 开发的容器网络解决方案。weave 创建的虚拟网络可以将部署在多个主机上的容器连接起来。对容器来说,weave 就像一个巨大的以太网交换机,所有容器都被接入这个交换机,容器可以直接通信,无需 NAT 和端口映射。除此之外,weave 的 DNS 模块使容器可以通过 hostname 访问。https://www.weave.works/docs/cloud/l...原创 2020-03-30 21:10:22 · 1941 阅读 · 0 评论 -
docker(7、容器网络5)Calico 网络 单etcd 节点 Calico网络结构 Calico 的默认连通性 定制 Calico 网络 Policy 定制 Calico IP 池
Calico是一个纯三层的协议,为OpenStack虚机和Docker容器提供多主机间通信。Calico不使用重叠网络比如flannel和libnetwork重叠网络驱动,它是一个纯三层的方法,使用虚拟路由代替虚拟交换,每一台虚拟路由通过BGP协议传播可达信息(路由)到剩余数据中心。Calico还提供网络安全规则的动态实施。使用Calico的简单策略语言,您可以实现对容器,虚拟机工作负载和裸机主机...原创 2020-03-26 01:07:59 · 1018 阅读 · 0 评论 -
docker(7、容器网络4) flannel 网络 1、yum安装etcd单节点 yum安装flannel 配置使用vxlan 2、配置使用 flannel host-gw
1、概述lannel 是 CoreOS 开发的容器网络解决方案。flannel 为每个 host 分配一个 subnet,容器从此 subnet 中分配 IP,这些 IP 可以在 host 间路由,容器间无需 NAT 和 port mapping 就可以跨主机通信。每个 subnet 都是从一个更大的 IP 池中划分的,flannel 会在每个主机上运行一个叫 flanneld 的 a...原创 2020-03-19 21:02:21 · 987 阅读 · 0 评论 -
etcd 安装测试
参数ETCD_NAME :ETCD的节点名,在集群中应该保持唯一,可以使用 hostname。ETCD_DATA_DIR:ETCD的数据存储目录,服务运行数据保存的路径,默认为 ${name}.etcd。ETCD_SNAPSHOT_COUNTER:多少次的事务提交将触发一次快照,指定有多少事务(transaction)被提交时,触发截取快照保存到磁盘。ETCD_HEARTBEA...原创 2020-03-13 16:59:01 · 1561 阅读 · 0 评论 -
docker(7、容器网络3) macvlan 网络 不支持DNS服务
macvlan 本身是 linux kernel 模块,其功能是允许在同一个物理网卡上配置多个 MAC 地址,即多个 interface,每个 interface 可以配置自己的 IP。macvlan 本质上是一种网卡虚拟化技术,Docker 用 macvlan 实现容器网络。macvlan 的最大优点是性能极好,相比其他实现,macvlan 不需要创建 Linux bridge,而是直接...原创 2020-03-06 02:42:52 · 2047 阅读 · 0 评论 -
docker(7、容器网络2) overlay网络
1、overlay环境准备为支持容器跨主机通信,Docker 提供了 overlay driver,使用户可以创建基于 VxLAN 的 overlay 网络。VxLAN 可将二层数据封装到 UDP 进行传输,VxLAN 提供与 VLAN 相同的以太网二层服务,但是拥有更强的扩展性和灵活性。Docerk overlay 网络需要一个 key-value 数据库用于保存网络状态信息,包括 Ne...原创 2020-03-06 01:37:57 · 885 阅读 · 0 评论 -
docker(7、容器网络1)跨主机网络概述
1、跨主机网络概述Docker 的几种网络方案:none、host、bridge 和 joined 容器,它们解决了单个 Docker Host 内容器通信的问题跨主机网络方案包括:docker 原生:overlay 和 macvlan第三方方案: flannel、weave 和 calicodocker 网络,不断有新的方案开发出来 如此众多的方案是通过 libnetwork &am...原创 2020-03-05 22:43:34 · 199 阅读 · 0 评论 -
Docker多主机管理Docker Machine
一、什么是Docker MachineDocker Machine 是Docker官方编排项目之一,使用go语言编写的,使用不同引擎在多种平台上快速的安装Docker环境,开源地址:https://github.com/docker/machine。Docker Machine 是一个工具,它允许你在虚拟宿主机上安装Docker,并使用docker-machine命令管理这个宿主机,可以使用...原创 2020-03-05 18:29:49 · 602 阅读 · 0 评论 -
docker(5、网络2) 1、容器间通信的三种方式 2、 容器如何访问外部 3、 外部如何访问容器
1、容器之间可通过 IP,Docker DNS Server 或 joined 容器三种方式通信IP 通信具体做法是在容器创建时通过--network指定相应的网络,或者通过docker network connect将现有容器加入到指定网络两个容器要能通信,必须要有属于同一个网络的网卡。同一网桥下的容器可以ping 通 ,不同网桥上的容器如何互通, 解决方法就是在容器上添加一...原创 2020-03-04 19:34:39 · 3946 阅读 · 1 评论