作者:张首富
时间:2021-03-04
转载:<https://www.infoq.cn/article/MjwIBtwplrOMI5Vv5Joy>

前言

使用容器总感觉像变模式一样。对那些了解其内部原理的人来说,他是一种很好的方式;而对于那些不了解其内部原理的人来说,这是一种可怕的方式。

今天我们来尝试解决下容器网络问题。或者,更准确地说是单主机容器网络问题。在本文中,我们将回答以下问题:

单主机容器网络只不过是一些众所周知的 Linux 工具的简单组合:

不管怎样,不需要任何代码就可以让网络魔法发生……

前提条件

任何还算不错的 Linux 发行版可能都足矣。本文中的所有例子都是在一个全新的 centos 7.6 虚拟机上完成的:

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]#

先提前安装好如下软件包,里面会包含nsenter 命令,后面我们会用到

# yum -y install util-linux

简单起见,在本文中,我们不打算依赖任何成熟的容器化解决方案(例如 docker 或 podman)。相反,我们将关注基本概念,并使用最简单的工具来实现我们的学习目标。