使用docker 原生overlay网络部署夸宿主机访问

要使用docker 原生的overlay,要满足任意的2个条件:
1,docker 运行在swarm 模式
2,使用键值存储docker 主机集群

这里使用consul 键值存储来部署
节点1/键值存储(Server):192.168.1.198
节点2(Client):192.168.1.199
1,下载consul二进制包 进行部署(下载到server节点)

wget https://releases.hashicorp.com/consul/0.9.2/consul_0.9.2_linux_amd64.zip

2,解压缩添加执行命令

unzip consul_0.9.2_linux_amd64.zip
mv consul /usr/bin/consul && chmod +x /usr/bin/consul

3,指定后台运行,并将启动信息重定向到日志里(指定类型为server 客户端信息绑定信息) -ui 可以通过网页访问看到consul的基本情况,-bind 监听的地址

nohup consul agent -server -bootstrap -ui -data-dir /var/lib/consul -client=192.168.1.198 -bind=192.168.1.198
&>/var/log/consul.log &
cat /var/log/consul.log \\查看日志 是否启动成功

4,server节点配置docker 守护进程consul(修改docker启动文件)consul://server地址

vi /lib/systemd/system/docker.service
[Service]
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store consul:// 192.168.1.198:8500
--cluster-advertise 192.168.1.198:2375(通告信息)

重新加载docker配置文件使更改生效

systemctl daemon-reload
service docker restart

5,client节点配置

vi /lib/systemd/system/docker.service
[Service]
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 --cluster-store consul:// 192.168.1.198:8500
--cluster-advertise 192.168.1.199:2375

重新加载使配置生效

systemctl daemon-reload
service docker restart

6,创建overlay网络(任意一台 最好是server 端,他会同步到其他node)

docker network create -d overlay multi_host(网络名)

7测试互通

docker run -itd --net=multi_host busybox (--net 加入overlay 网络)
ping ....

原文地址:http://blog.51cto.com/1014810/2116439

时间: 2024-10-11 16:59:27

使用docker 原生overlay网络部署夸宿主机访问的相关文章

Ubuntu下virtualbox nat网络模式下 实现宿主机访问虚拟机

参考原文(在windows环境下):http://hi.baidu.com/george_gly/item/5183b76e5a79e49ac5d2498b nat网络模式下,虚拟机可以访问外网.访问宿主机,但宿主机ping不通虚拟机ip,也无法ssh.ftp.http等方式访问虚拟机 如果是简单需求,可以通过virtualbox自带的端口转发功能实现,宿主机对虚拟机的访问 1.打开虚拟机设置中的网络项--> Port Forwarding 2.找到对应nat模式的网卡,点击下面的端口转发,增加

Docker安装的Nginx如何代理宿主机的服务

1.在安装Docker的时候,会在宿主机安装一个虚拟网关 docker0,查询docker0的IP地址 ip addr show docker0 2.配置docker上安装的nginx server { listen 80; server_name www.test.co; location / { # 设置最大允许上传单个的文件大小 client_max_body_size 100m; proxy_redirect off; proxy_set_header Host $host; proxy

宿主机访问virtualBox中Ubuntu

斌斌 (给我写信) 原创博文(http://blog.csdn.net/binbinxyz),转载请注明出处! 使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,不需要你进行任何其他的配置,只需要宿主机器能访问互联网,虚拟机系统通过宿主机器所在的网络来访问公网. 使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑.想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信. 当前主机使用无线网卡自动获取IP上网,网络信息如下: 虚拟机中的Ubu

tomcat部署之后 本机访问本地部署的网站打开一个页面非常慢

tomcat部署之后 本机访问本地部署的网站打开一个页面非常慢.有时甚至会造成页面空白或直接卡死. 解决方法:是连接池出的问题.改用c3p0连接池. 将数据库连接池改用c3p0连接池. <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="com.mysql

Docker的原生overlay网络的实现原理

系统环境 manager node: CentOS Linux release 7.4.1708 (Core) workr node: CentOS Linux release 7.5.1804 (Core) Docker版本信息 manager node: Docker version 18.09.4, build d14af54266 worker node: Docker version 19.03.1, build 74b1e89 Docker Swarm系统环境 manager nod

Docker CE overlay网络简单测试

Docker 的多种网络模式中,bridge的网络模式是用于同一台宿主机上的docker之间的互通,如果要实现多台宿主机上docker之间跨节点的通讯就需要借助overlay网络 在 docker swarm 模式中,通过 docker service create 创建的容器默认会使用名为ingress的overlay网络模式,在这种网络模式下,service会在不同节点(宿主机)上建立容器,不同节点上容器的ip会处在同一子网内; 同样的,如果建立多个service,比如,同时建了nginx

docker容器设置静态IP与宿主机同一网段通信

很早以前弄过docker容器设置静态ip地址以及容器与容器之间通信,用的不多所以没有记录下来. 今天在网上看到个文章关于设置静态ip地址的.就自己实战下.对了还有个pipework也可以设置.. 操作系统环境 [email protected]:~# cat /etc/issue Ubuntu 14.04.3 LTS \n \l 宿主机(系统采用ubuntu-14.04.1-server-amd64)的网络采用桥接模式(默认是DHCP模式,还有一种模式就是静态IP),网桥的网段与物理网段相同.目

金庸武功之“易筋经”--docker pipework 设置容器IP在宿主机网段

一.主机环境及环境准备 宿主机IP:192.168.1.107 宿主机网关:192.168.1.1 容器IP:目的是设置为192.168.1.108 关闭Selinux 设置为网卡桥接模式 关闭防火墙 yum install bridge-utils -y yum install git -y 二.安装docker 增加repo tee /etc/yum.repos.d/docker.repo <<-'EOF' [dockerrepo] name=Docker Repository baseu

Docker从容器拷贝文件到宿主机或从宿主机拷贝文件到容器

1.从容器里面拷文件到宿主机? 答:在宿主机里面执行以下命令 docker cp 容器名:要拷贝的文件在容器里面的路径       要拷贝到宿主机的相应路径 示例: 假设容器名为testtomcat,要从容器里面拷贝的文件路为:/usr/local/tomcat/webapps/test/js/test.js,                     现在要将test.js从容器里面拷到宿主机的/opt路径下面,那么命令应该怎么写呢? 答案:在宿主机上面执行命令 docker cp testto