admin管理员组文章数量:1602033
现在提到容器,可能很容易想到的就是Kubernates,确实它很火,也很强大,但是对于规模非常小,容器不多的小环境,Kubernetes 就显得比较累赘了,直接使用Docker Compose拉取一个小环境,这种使用方式,也有不少用户在使用;本篇通过实战,来介绍两种,在不使用类似Kubernetes容器管理平台的下,实现跨主机Docker容器之间互通的方法;
基础环境准备
安装Docker
在能访问公网且DNS正常的情况下,将下面的代码,直接复制并在docker-host-01,docker-host-02上执行,即可完成Docker安装。
#卸载原有docker环境及依赖,并安装必要的包
yum remove docker-latest-logrotate docker-logrotate docker-selinux docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
#使用阿里云安装源
yum-config-manager --add-repo http://mirrors.aliyun/docker-ce/linux/centos/docker-ce.repo
rpm --import http://mirrors.aliyun/docker-ce/linux/centos/gpg
yum makecache fast
yum -y install docker-ce
#安装完成启动Docker
systemctl start docker
systemctl enable docker
systemctl status docker
下载演示镜像
Docker官方在https://hub.docker/中提供了很多镜像,你可以根据自己的需要选择并下载,也可以自行安装Docker镜像仓库,此处我就直接下载使用docker hub中提供的centos官方镜像进行后续演示;
[root@docker-host-01 ~]# docker pull centos
镜像在两台Docker主机中都下载,当然如果网速慢的话,可以下载一个,然后使用docker save 打包镜像,将镜像传到第二台机器上,在用docker load导入镜像。方法很多,适合你的才是最好的。
镜像下载完成,使用docker images命令查看。
[root@docker-host-01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 470671670cac 3 days ago 237MB
通过直接路由方式实现跨主机Docker容器通信
直接路由这种方式操作起来比较简单,对Docker原生网络改变最小,只需要互相指定对方的路由即可完成跨主机Docker容器之间的互通;
主机配置及IP信息
基础环境需要准备两台主机,系统可以是CentOS,Ubuntu;需要能支持安装Docker,本实战文档中使用的主机信息如下;
主机名 | IP | 配置 | 容器网段 |
---|---|---|---|
docker-host-01 | 192.168.61.132 | 2核4G内存,50G硬盘 | 172.16.200.0/24 |
docker-host-02 | 192.168.61.135 | 2核4G内存,50G硬盘 | 172.16.201.0/24 |
调整Docker网络配置
Docker安装完之后,默认会创建一个docker0的网桥,启动的Docker容器网段是172.17.0.1/16,如果不做调整,两台Docker主机上的容器,就可能出现IP地址冲突,所以我们先将默认docker0网桥的地址按【主机配置及IP信息】中规划的进行调整。
在docker-host-01中创建/etc/docker/daemon.json文件,内容
版权声明:本文标题:实战|两种常用的跨主机Docker容器互通方法 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1728381912a1156567.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论