Pipework

Docker网络解决方案

試著忘記壹切 提交于 2020-10-29 05:25:33
原文链接: https://www.cnblogs.com/kevingrace/p/6859114.html Docker跨主机容器间网络通信实现的工具有Pipework、Flannel、Weave、Open vSwitch(虚拟交换机)、Calico, 其中Pipework、Weave、Flannel,三者的区别是: Weave的思路 在每个宿主机上布置一个特殊的route的容器,不同宿主机的route容器连接起来。 route拦截所有普通容器的ip请求,并通过udp包发送到其他宿主机上的普通容器。这样在跨机的多个容器端看到的就是同一个扁平网络。 weave解决了网络问题,不过部署依然是单机的。 Flannel的思路 Flannel是CoreOS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址。但在默认的Docker配置中,每个节点上的Docker服务会分别负责所在节点容器的IP分配。这样导致的一个问题是,不同节点上容器可能获得相同的内外IP地址。并使这些容器之间能够之间通过IP地址相互找到,也就是相互ping通。Flannel设计目的就是为集群中所有节点重新规划IP地址的使用规则,从而使得不同节点上的容器能够获得"同属一个内网"且"不重复的"IP地址

配置Jenkins通过邮件发送警告

与世无争的帅哥 提交于 2020-08-17 03:00:30
此博客接安装Jenkins持续集成服务环境而做,如有不懂,请访问博文: 一、配置Jenkins通过邮件发送警告 1、Jenkins配置SSH 1)Jenkins服务器生成SSH密钥对 <!--此案例两台服务器,100.10是Jenkins服务器,100.20是客户端--> <!--自行安装好Jenkins和下载好publish over ssh插件和Email Extension Plugin 插件--> [root@centos01 ~]# ssh-keygen -t rsa <!--Jenkins服务器生成ssh密钥--> [root@centos01 ~]# cat .ssh/id_rsa.pub >> .ssh/authorized_keys <!--将Jenkins自己的公钥输入到公钥配置文件中保存--> [root@centos01 ~]# ssh-copy-id -i .ssh/id_rsa.pub root@192.168.100.20 <!--将Jenkins的ssh公钥拷贝到100.20服务器--> [root@centos01 ~]# ssh root@192.168.100.20 <!--Jenkins服务器测试免密登录100.20--> 2、Jenkins配置系统添加SSH 1)选择系统设置 2)Jenkins获取自己的私钥并复制 [root

安装Jenkins持续集成服务

两盒软妹~` 提交于 2020-08-10 23:31:59
一、Jenkins概述 1、Jenkins的作用和用户类型 1)Jenkins的作用 持续集成:将不同的模块或者开发人员开发的功能进行整合; 持续交付:可以重复性更新程序或者软件项目; 持续部署:自动化部署软件项目,定期备份,部署项目异常回滚; 2)Jenkins使用的用户 开发人员:编写好的代码不需要手动编译打包工作,直接将代码提交到SVN或者git中保存; 运维人员:减轻管理员工作量,避免人工干预,减少错误率; 测试人员:方便进行简单的代码测试,避免出现程序逻辑错误; 2、Jenkins的特点和Jenkins的组件 1)Jenkins的特点 Jenkins使用JAVA语言编写的程序; 开源自动化运维工具; 提供开放的简单易用交付平台; 方便用户安装和配置软件开发项目; 提高软件开发效率,保证软件开发质量; 方便用户持续部署项目和测试项目; 2)Jenkins需要的组件 自动构建软件或者程序运行过程:自动编译源代码程序分发编译的程序到服务器、部署程序到服务器、测试部署服务; 代码存储库:存储用户开发的程序,控制程序的版本,使用SVN或者git; 持续集成服务:使用Jenkins持续部署开发的项目,对项目进行备份,发现项目异常进行回滚; 3、Jenkins的特征: 开源的Java语言开发持续继承工具,支持持续继承,持续部署; 易于安装部署配置:可通过yum安装

docker笔记

孤人 提交于 2020-08-10 09:46:52
一、windows 7下安装docker 1、下载Docker Toolbox,下载地址:https://www.docker.com/products/docker-toolbox 2、默认安装Docker Toolbox即可 3、安装好后,启动Docker Toolbox terminal,等待配置结束,显示虚拟机IP地址,出现命令符$ 注:1)出现Error with pre-create check: "This Computer doesn't have VT-x/AMD-v enabled. Enabling it in the BIOS is mandatory",则需要去BIOS开启VT 2)如果boot2docker.iso下载失败,可以手工下载https://github.com/boot2docker/boot2docker/releases/download/v1.12.6/boot2docker.iso,然后放到C:\Users\Administrator\.docker\machine\cache\目录 4、执行命令确认 #查看版本 docker version #查看信息 docker info 5、进入虚拟机 1)命令行下进入虚拟机,默认docker账号 docker-machine ssh default #切换root权限 sudo -i 2

基于Docker的Zookeeper+Hadoop(HA)+hbase(HA)搭建

本秂侑毒 提交于 2020-04-30 20:45:07
公司要将监控数据存入opentsdb,而opentsdb使用了hbase作为存储。所以想搭建一套高可用的分布式存储来供opentsdb使用。 因为机器有限,所以测试过程中将三台集群的环境安装在docker上。 一:宿主机版本和docker版本   宿主机:Centos7.2 3.10.0-862.14.4.el7.x86_64   docker:Docker version 1.13.1, build 94f4240/1.13.1 二:镜像版本   docker.io/centos 三:创建docker镜像    mkdir -p /home/dockerfile/hbaseha   上传软件包至此目录   zookeeper-3.4.12.tar.gz   hbase-1.3.2.1-bin.tar.gz   hadoop-2.6.5.tar.gz   jdk8.tar.gz   创建Dockerfile。   vi Dockerfile # 选择一个已有的os镜像作为基础 FROM centos # 安装openssh - server和sudo软件包,并且将sshd的UsePAM参数设置成no RUN yum install -y openssh- server sudo RUN sed -i ' s/UsePAM yes/UsePAM no/g ' /etc/ssh/

Docker容器(五)——Docker静态化IP

爱⌒轻易说出口 提交于 2020-04-27 19:54:30
(1).Docker的四种网络模式   Docker有以下四种模式,通过--net=[参数]选项(现在也可以使用--network [参数])指定:     host模式:使用宿主机的IP地址和端口。使用--net=host指定。     container模式:和一个指定容器共享IP和端口。使用--net=container:[容器实例名称或ID]指定。     none模式:关闭容器的网络功能。使用--net=none指定。      bridge模式:为容器分配IP,并将容器连接到docker0虚拟网桥,通过docker0网桥以及Iptables nat表配置,实现与宿主机通信。默认模式,使用--net=bridge指定。   默认选择bridge的情况下,容器启动后会通过DHCP自动获取一个地址。在CentOS7系统上,docker环境下,如果想要给容器分配一个固定IP(可以和宿主机同网段),可以使用pipework脚本( 网络模式选择none )。    注意1:docker默认dridge模式相当于VMware中NAT模式;pipework脚本给容器分配固定IP,相当于VMware中桥接模式。    注意2:当容器重启时,pipework设置的IP会自动消失,需要重新设置。 (2).为容器配置静态IP  1)配置桥接网络 [root@youxi1 ~]# yum -y

docker学习笔记(四):docker网络模式及桥接配置

限于喜欢 提交于 2020-04-17 02:17:03
【推荐阅读】微服务还能火多久?>>> 1 、 docker网络模式 :有如下五种: host模式(--net=host) container模式 none模式(--net=none) bridge模式(--net=bridge) host模式 : 需要使用 docker run 是指定: --net=host 使用的网络实际上和宿主机是一样,在 容器内的IP和宿主机的IP 是一样,类似于 vmare桥接模式 ; container模式 :使用 --net=container:container_id/container_name ,多个容器使用共同的网络,看到的IP是一样的; none模式 : - -net=none 这种模式下,不会配置任何网络; bridge模式 : --net=bridge ,不指定是默认也是这种模式,这种模式会为每个容器分配一个独立的network 网卡,同一个宿主机是在同一个网段下可以通信的,类似于 VMware 的 NAT模式 ; 2 、 docker网络及从 外部访问 容器 : 创建了容器之后,并在容器部署了httpd web服务,容器会有一个私网地址172.17.0.2,那么也只能容器内部访问网站,如果要是想让别的主机或者外网可以访问这个web 网站,那要怎么做呢; 首先新建一个 容器 ,然后在该容器内安 装 httpd 服务 ,并启动;

Docker 学习(四)—— 网络配置

て烟熏妆下的殇ゞ 提交于 2019-12-09 15:21:55
操作系统CentOS7.0下docker 网络配置(root用户下操作) Dokcer 通过使用 Linux 桥接提供容器之间的通信,默认会创建一个名为docker0的虚拟网桥,docker0 桥接接口的目的就是方便 Docker 管理。当 Docker daemon 启动时需要做以下操作: creates the docker0 bridge if not present # 如果 docker0 不存在则创建 searches for an IP address range which doesn’t overlap with an existing route # 搜索一个与当前路由不冲突的 ip 段 picks an IP in the selected range # 在确定的范围中选择 ip assigns this IP to the docker0 bridge # 绑定 ip 到 docker0 一、Docker 网络模式 Docker 网络模式有4种方式: host 模式,使用 --net=host 指定。 container 模式,使用 --net=container:NAMEorID 指定。 none 模式,使用 --net=none 指定。 bridge 模式,使用 --net=bridge 指定,默认设置。 1、host 模式 如果启动容器的时候使用

知识点046-pipework与docker

邮差的信 提交于 2019-12-05 21:14:52
pipework是一个用软件来为linux容器定义网络的工具,pipework允许你在一个复杂的环境下把容器连接在一起,pipework使用cgroup和namespace来和LXC容器协同工作,当然也可以和docker来一起工作。 下载pipework git clone https://github.com/jpetazzo/pipework.git 在下载下来的pipework目录里面有一个pipework脚本,用shell编写的,就是把创建的网络的命令自动化,行数不多,感兴趣的可以看看。 在动手前我们有些事要提醒一下:当你在docker中使用pipework之前,先去docker用户列表中询问一下,docker是否已经有了更加原生方法来实现相同的功能,这样你应该不用pipework,pipework后面应该被淘汰的。如果当前版本的docker真的没有办法使你的docker容器集中在一起,那么只能使用pipework了。 先看看原始网络配置: 下面的例子显示了pipework怎么来帮助你的容器 #创建两个容器 ssh11=$(docker run -d -P --name ssh1 ssh_service) ssh22=$(docker run -d -P --name ssh2 ssh_service) 创建网桥 cd pipework ./pipework br8

Docker的架构与自制镜像的发布

坚强是说给别人听的谎言 提交于 2019-12-04 23:53:39
一. docker 是什么 大家都知道虚拟机吧,windows 上装个 linux 虚拟机是大部分程序员的常用方案。公司生产环境大多也是虚拟机,虚拟机将物理硬件资源虚拟化,按需分配和使用,虚拟机使用起来和真实操作系统一模一样,当废弃不用时直接删除虚拟机文件即可回收资源,很方便集中管理。 由于虚拟机非常庞大,同时对硬件资源的消耗也大,linux 发展出了另一种虚拟化技术,即 linux 容器(Linux Containers,缩写为 LXC),它并不像虚拟机那样模拟一个完整的操作系统,却提供虚拟机一样的效果。如果说虚拟机是操作系统级别的隔离,那么容器就是进程级别的隔离,可以想象这种级别隔离的优点,无疑是快速的,节省资源的。 docker 就是对 linux 容器的封装,提供简单实用的用户接口,是目前最流行的 linux容器解决方案。 下面是百科的定义: docker 是基于 Go 语言的开源的应用容器引擎,并遵从Apache2.0协议,docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 二. docker 解决什么问题 1. 解决虚拟机资源消耗问题。 服务器操作系统之上运行着虚拟机,虚拟机上运行着客户操作系统,客户操作系统之上运行着用户的应用程序