美文网首页DockerDocker容器
docker实例-centos网络配置

docker实例-centos网络配置

作者: fantasy028 | 来源:发表于2023-02-14 13:21 被阅读0次

关于docker 容器网络配置案例

docker实际使用中,我们可能会涉及到为某个容器指定特定的网络ip。不过,一般而言,在指定ip之前,我们可以创建一个自己的网络用来管理ip。对于docker容器,我们一般使用bridge网络。

首先,在创建网络前,我们肯定是需要知道当前有哪些网络的,那么,我们可以用如下命令查看docker当前已有的网络:

docker network ls

接下来,我们可以创建自己的网络了。这里以创建一个名为 casenet 的网络为例,具体操作如下:
docker network create --driver bridge --subnet=172.19.0.0/16 --gateway=172.19.0.1 casenet

对于操作中,我们要注意bridge 是我们设置的网络驱动,也就是前面提到的bridge网络。而 --subnet=172.19.0.0/16 , 则是我们创建的一个网络,其中,16指定了我们的子网掩码为16位,这样也就决定了我们的网络可用ip,对于具体网络知识这里就不做多说了,想了解更多的话,可以去深入网络知识学习,具体该怎样设置这个参数,我们可以根据我们需要的网络可用ip数量。

需要注意的是上述操作可能会出现错误:

ERROR: Pool overlaps with other one on this address space

对于这个问题产生的原因,是由于网络ip段已被使用的原因造成的。那么,我们要解决这个问题可以采用的办法包括:

  1. 修改subnet网段地址
  2. 删除已有的该网络。关于网络的删除可用命令:

docker network rm network_id

谈到这个问题,自然就引出了另一个问题,即我们在规划该网络的时候,需要考虑已有ip的使用情况,及无效的占用问题。

那么,这里就引出了另一个问题,我们如何查看已经使用的网络ip。

对此,我们可以先用前面提到的命令

docker network ls

来查看包含了哪些网络。

在知道了有哪些网络之后,我们可以通过命令:

docker network inspect network_id

来查看每个网络的ip信息,并进行统计,然后根据统计的结果再来规划我们的具体网络分配。

在分配好网络之后,我们从新执行前面的网络创建操作。到此为止,准备就绪。接下来,我们就将开始为一个容器配置特定的网络了。

话不多说,先给操作指令:

docker run -itd -h itman123.com --name itman123 --network=casenet --ip 172.19.0.4 centos /bin/bash

这样,就配置了一个名为itman123的centos容器。并运行起来了。如果我们在按此方法配置一个itman124的容器。那么,我们通过itman124就可以直接通过命令 ping 172.19.0.3就可以ping通网络了。这样,我们就可以在本地加设多个。

这里需要注意一个问题,如果我们在centos这样的容器中,如果要用到root权限的话,需要将操作改为:

docker run --privileged -itd -h itman123.com --name itman123 --network=mynet --ip 172.19.0.3 centos /bin/bash/init

否则,对于ssh的server是无法链接的哦。

相关文章

网友评论

    本文标题:docker实例-centos网络配置

    本文链接:https://www.haomeiwen.com/subject/visekdtx.html