首页

文章

如何在 docker 容器之间设置网络

发布网友 发布时间:2022-02-26 21:20

我来回答

1个回答

热心网友 时间:2022-02-26 22:49

在使用weave之前,你需要在所有宿主机上安装Docker环境,参考这些教程,在Ubuntu或CentOS/Fedora发行版中安装Docker。Docker环境部署完成后,使用下面的命令安装weave:$wget/zettio/weave/releases/download/latest_release/weave$chmoda+xweave$sudocpweave/usr/local/bin注意你的PATH环境变量要包含/usr/local/bin这个路径,请在/etc/profile文件中加入一行(LCTT译注:要使环境变量生效,你需要执行这个命令:source/etc/profile):exportPATH="$PATH:/usr/local/bin"在每台宿主机上重复上面的操作。Weave在TCP和UDP上都使用6783端口,如果你的系统开启了防火墙,请确保这两个端口不会被防火墙挡住。在每台宿主机上启动Weave路由器当你想要让处于在不同宿主机上的容器能够互相通信,第一步要做的就是在每台宿主机上启动weave路由器。第一台宿主机,运行下面的命令,就会创建并开启一个weave路由器容器(LCTT译注:前面说过了,weave路由器也是一个容器):$sudoweavelaunch第一次运行这个命令的时候,它会下载一个weave镜像,这会花一些时间。下载完成后就会自动运行这个镜像。成功启动后,终端会输出这个weave路由器的ID号。下面的命令用于查看路由器状态:$sudoweavestatus第一个weave路由器就绪了,目前为止整个peer对等网络中只有一个peer成员。你也可以使用docker的命令来查看weave路由器的状态:$dockerps第二台宿主机部署步骤稍微有点不同,我们需要为这台宿主机的weave路由器指定第一台宿主机的IP地址,命令如下:$sudoweavelaunch当你查看路由器状态,你会看到两个peer成员:当前宿主机和第一个宿主机。当你开启路由器,这个peer成员列表会更长。当你新开一个路由器时,要指定前一个宿主机的IP地址,请注意不是第一个宿主机的IP地址(LCTT译注:链状结构)。现在你已经有了一个weave网络了,它由位于不同宿主机的weave路由器组成。把不同宿主机上的容器互联起来接下来要做的就是在不同宿主机上开启Docker容器,并使用虚拟网络将它们互联起来。假设我们创建一个私有网络10.0.0.0/24来互联Docker容器,并为这些容器随机分配IP地址。如果你想新建一个能加入weave网络的容器,你就需要使用weave命令来创建,而不是docker命令。原因是weave命令内部会调用docker命令来新建容器然后为它设置网络。下面的命令是在宿主机hostA上建立一个Ubuntu容器,然后将它放到10.0.0.0/24网络中,分配的IP地址为10.0.0.1:hostA:~$sudoweaverun10.0.0.1/24-t-iubuntu成功运行后,终端会显示出容器的ID号。你可以使用这个ID来访问这个容器:hostA:~$dockerattach在宿主机hostB上,也创建一个Ubuntu容器,IP地址为10.0.0.2:hostB:~$sudoweaverun10.0.0.2/24-t-iubuntu访问下这个容器的控制台:hostB:~$dockerattach这两个容器能够互相ping通,你可以通过容器的控制台检查一下。如果你检查一下每个容器的网络配置,你会发现有一块名为“ethwe”的网卡,你分配给容器的IP地址出现在它们那里(比如这里分别是10.0.0.1和10.0.0.2)。Weave的其他高级用法weave提供了一些非常巧妙的特性,我在这里作下简单的介绍。应用分离使用weave,你可以创建多个虚拟网络,并为每个网络设置不同的应用。比如你可以为一群容器创建10.0.0.0/24网络,为另一群容器创建10.10.0.0/24网络,weave会自动帮你维护这些网络,并将这两个网络互相隔离。另外,你可以灵活地将一个容器从一个网络移到另一个网络而不需要重启容器。举个例子:首先开启一个容器,运行在10.0.0.0/24网络上:$sudoweaverun10.0.0.2/24-t-iubuntu然后让它脱离这个网络:$sudoweavedetach10.0.0.2/24最后将它加入到10.10.0.0/24网络中:$sudoweaveattach10.10.0.2/24现在这个容器可以与10.10.0.0/24网络上的其它容器进行通信了。这在当你创建一个容器而网络信息还不确定时就很有帮助了。将weave网络与宿主机网络整合起来有时候你想让虚拟网络中的容器能访问物理主机的网络。或者相反,宿主机需要访问容器。为满足这个功能,weave允许虚拟网络与宿主机网络整合。举个例子,在宿主机hostA上一个容器运行在10.0.0.0/24中,运行使用下面的命令:hostA:~$sudoweaveexpose10.0.0.100/24这个命令把IP地址10.0.0.100分配给宿主机hostA,这样一来宿主机hostA也连到了10.0.0.0/24网络上了。显然,你在为宿主机选择IP地址的时候,需要选一个没有被其他容器使用的地址。现在hostA就可以访问10.0.0.0/24上的所有容器了,不管这些容器是否位于hostA上。好巧妙的设定啊,32个赞
...火柴小女孩》《词语手册》里有很多词语的意思的,求告知 暖融融解释 领淘通淘客助手这个软件怎么样? 淘宝客必备的九大工具有哪些? 电脑里硬盘如何共享怎么实现多台电脑共用一块硬盘 两台电脑一个硬盘两台电脑是否可以同时用一个硬盘 共享电脑硬盘怎样设置局域网电脑硬盘共享 现在下载歌曲好还是不下好 故障码P033D的含义解析 切菜机多功能型切菜机 scanbox三维扫描仪 苹果13没有删除的备忘录怎么恢复? iphone备忘录永久删除怎么恢复?iphone备忘录恢复最近删除文件方法介绍... 备忘录最近删除怎么找 初一班主任工作计划 新初一班主任工作计划 359度是什么角 报个 定向乡镇卫生院 的医学好不好 酒驾缓刑节保证书怎么写 合同法律咨询免费 这款充电宝可以带上飞机吗? 倪俊卿成就及荣誉 江苏种牛站有几家? 山东宏正牧业有限公司服务承诺 吃早餐后抽血会影响体检结果吗 电脑如何设置护眼模式(台式电脑如何设置护眼模式) 电脑显示器设置护眼电脑屏幕怎么设置比较护眼 广告机是否支持分屏显示功能? 上海东丰船务有限公司怎么样? 马弗炉管厂家 CF手游体验服怎样获取资格 穿越火线体验服在哪申请资格_cf手游体验服资格申请入口链接 穿越火线体验服资格申请链接在哪-穿越火线体验服资格申请链接介绍 快手浏览量多少才能赚钱?快手靠浏览量能挣多少钱? 小麦胚芽如何吃最好 个头怎么造句 高跟鞋走路磨脚该如何处理? 除螨虫的特效药 螨虫什么药物可以除掉 网上在哪买奢侈品 二手包包闲置了怎么办 夫妻想要怀孕要提前做哪些准备 手机图片如何投屏到电视上去 手机图片投屏到电视上去的方法 分区助手无法压缩卷怎么处理? 广州北斗公司有哪些 在文件夹里.把cfg文件删掉.电影还可以看么? 办理骑士卡要钱吗? 一千个伤心的理由吉他谱前奏怎么弹出 一千个伤心的理由吉他谱 去中国逛夜市,必买的小吃有哪些? 上海香肠的配料秘方有哪些? PS怎样画带箭头的直线和曲线 如何在CentOS6.5上安装docker1.9及以上版本 群晖docker 可以做什么 ps曲线箭头怎样画的 请问如何wps/ps画出这种带箭头曲线? 如何在windows上使用docker 怎么使用docker实现负载均衡部署 ps如何画出下面这张曲线箭头,可以根据需要调整的? 怎么用通俗易懂的话来解释Docker(容器)技术 PS怎么做出这样的弧线箭头? 如何把docker进程把启动文件映射到容器内 Photoshop画曲线和箭头的问题 如何在虚拟机安装docker 如何用docker容器运行一款游戏 尚硅谷Java视频教程_Docker核心技术学起来难吗? 如何使用docker搭建视频网站 docker快速搭建几个常用的第三方服务 如何通过Docker进行容器编排 求一份docker/jenkins教程 学习Docker哪本书最好 PHOTOSHOP怎样画带箭头的直线和曲线? docker 同时安装多个应用吗 ps 在图片上画箭头怎么画(曲线,直线箭头等) 如何查看所有运行的docker 请PS高手画一条带箭头的曲线! docker gitlab数据怎么挂在宿主volume下 windows支不支持docker ps cs5如何画出如图中带箭头的红色曲线?? linux上怎么安装nginx 如何在linux下安装nginx linux下怎么安装nginx linux 怎么安装nginx 如何在linux中安装nginx 如何在linux环境下安装nginx linux系统怎么安装nginx 如何在linux上安装nginx 如何查看linux已安装nginx Linux下怎么确定Nginx安装目录 在linux下安装nginx时报出./configure: error: invalid option "–prefix=/usr/webserver/nginx"这个错误 在linux系统下怎么安装两个nginx
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com