如何实现“docker 宿主ping不通容器”

整体流程

步骤 操作
1 创建一个自定义的docker网络
2 启动一个容器,加入该网络
3 在宿主机上ping该容器

具体步骤及代码

步骤一:创建一个自定义的docker网络

docker network create mynetwork 

该命令创建了一个名为mynetwork的自定义docker网络。

步骤二:启动一个容器,加入该网络

docker run -d --name mycontainer --network mynetwork nginx

该命令以后台模式运行一个名为mycontainer的nginx容器,并加入到mynetwork网络中。

步骤三:在宿主机上ping该容器

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mycontainer

该命令获取mycontainer容器的IP地址。

ping [mycontainer的IP地址]

在宿主机上执行ping命令,用mycontainer的IP地址替换[mycontainer的IP地址],检查是否能够ping通容器。

序列图

sequenceDiagram
    participant 宿主机
    participant docker守护进程
    participant mynetwork
    participant mycontainer
    宿主机 -> docker守护进程: 创建自定义网络 mynetwork
    docker守护进程 -> mynetwork: 创建网络
    宿主机 -> docker守护进程: 启动容器 mycontainer
    docker守护进程 -> mycontainer: 加入 mynetwork
    宿主机 -> docker守护进程: 获取 mycontainer IP地址
    docker守护进程 -> mycontainer: 查询IP地址
    宿主机 -> mycontainer: ping mycontainer IP地址
    mycontainer --> 宿主机: PONG

通过以上步骤和代码,你可以实现docker宿主ping不通容器的功能。祝你学习顺利!