文章目录
- 命名空间的:命名空间是Linux内核的一个强大特性。每个容器都有自己单独的命名空间,运行其中的应用都像在独立的操作系统中运行一样。命名空间保证了容器之间彼此互不影响。
- linux内核实现NameSpace 的主要目的就是为了实现轻量级虚拟化(容器)服务,构建一个相对隔离的shell环境。在同一个NameSpace下的进程可以感知彼此的变化,而对外界的进程则一无所知,这样可让容器内的进程运行在一个独立的系统环境中,以此达到隔离的目的。
- 查看容器的进程Pid
docker inspect --format '{{.State.Pid}}' <容器ID>
- 建立命名空间web与容器之间的连接
ln -s /proc/<容器进程号(Pid)>/ns/net /var/run/netns/web
- 查看命名空间
ip netns
- 查看命名空间IP,即容器IP
ip netns exec web ip addr
- 添加命名空间IP
ip netns exec web ip addr add local <自己虚拟机的网段网络>/24 dev eth0
- 添加完成后查看变化
ip netns exec web ip addr