中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

主机网络共享模式

通过主机网络共享模式,容器可以直接使用宿主机的网络栈。在Docker中创建使用主机网络共享模式的Nginx容器,实现了容器与宿主机网络的高效通信。

在CentOS或openEuler中创建并运行一个连接到Docker宿主机网络栈的容器的具体操作步骤如下:

  1. 创建单个容器。
    • CentOS:
      1
      docker run -itd --privileged -v /home/share/:/home/share/   --cpuset-cpus 0-1 --cpuset-mems 0 --memory 8589934592 --net=host --name nginx_1 arm/centos7/nginx:http  /bin/bash
      
    • openEuler:
      1
      docker run -itd --privileged -v /home/share/:/home/share/   --cpuset-cpus 0-1 --cpuset-mems 0 --memory 8589934592 --net=host --name nginx_1 arm/openeuler20/nginx:http  /bin/bash
      

    命令说明参考表1

    表1 命令说明

    命令

    说明

    -v

    指定共享目录。

    --cpuset-cpus

    指定容器分配的物理核。

    --cpuset-mems

    指定容器的内存分配在哪个node上。

    --memory

    指定容器分配的内存大小。

    --net

    指定容器使用的网络模式,这里使用host网络模式。

    --name

    指定容器名。

    arm/centos7/nginx:http

    或者

    arm/openeuler20/nginx:http

    指定容器使用的镜像。

    如果需要批量创建容器,建议使用脚本文件。以下是一个可创建24个容器的CentOS脚本示例。

    #!/bin/bash
    # filename: ContainerCreate.sh
    beginCore=0;
    endCore=1;
    for i in  {1..6}
    do
            name=nginx_$i
            docker run -itd --privileged -v /home/share/:/home/share/ --cpuset-cpus $beginCore-$endCore --cpuset-mems 0 --memory 8589934592 --net=host --name $name arm/centos7/nginx:http  /bin/bash
            let "beginCore+=4"
            let "endCore+=4"
    done
    for i in {7..12}
    do
            name=nginx_$i
            docker run -itd --privileged -v /home/share/:/home/share/ --cpuset-cpus $beginCore-$endCore --cpuset-mems 1 --memory 8589934592 --net=host --name $name arm/centos7/nginx:http  /bin/bash
            let "beginCore+=4"
            let "endCore+=4"
    done
    for i in {13..18}
    do
            name=nginx_$i
            docker run -itd --privileged -v /home/share/:/home/share/ --cpuset-cpus $beginCore-$endCore --cpuset-mems 2 --memory 8589934592 --net=host --name $name arm/centos7/nginx:http  /bin/bash
            let "beginCore+=4"
    
            let "endCore+=4"
    done
    for i in {19..24}
    do
            name=nginx_$i
            docker run -itd --privileged -v /home/share/:/home/share/  --cpuset-cpus $beginCore-$endCore --cpuset-mems 3 --memory 8589934592 --net=host --name $name arm/centos7/nginx:http  /bin/bash
            let "beginCore+=4"
            let "endCore+=4"
    done
  2. 查看已经启动的容器。
    1
    docker ps
    

    如果执行docker ps没有容器,则执行以下命令查看报错。

    1
    2
    docker ps -a
    docker logs nginx_1
    
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词