神剑山庄资源网 Design By www.hcban.com

工作需要临时启动一个 gitlab,无奈 gitlab 需要 ssh 的 22 端口;而使用传统网桥方式映射端口则 clone 等都需要输入端口号,很麻烦;22 端口宿主机又有 sshd 监听;研究了下 docker 网络,记录一下如何分配宿主机网段 IP

创建 macvlan 网络

关于 Docker 网络模式这里不再细说;由于默认的网桥方式无法满足需要,所以需要创建一个 macvlan 网络

复制代码 代码如下:
docker network create -d macvlan  --subnet=172.16.0.0/19 --gateway=172.16.0.1 -o parent=eth0 gitlab-net

  1. --subnet: 指定网段(宿主机)
  2. --gateway: 指定网关(宿主机)
  3. parent: 注定父网卡(宿主机)

创建以后可以使用 docker network ls 查看

 ~ docker network ls
NETWORK ID     NAME          DRIVER       SCOPE
a4a2980c9165    agent_default      bridge       local        
a0f29102b413    bridge         bridge       local        
2f46dc70b763    gitlab-net       macvlan       local        
51bd6222530f    host          host        local        
7a14a09c3cfc    none          null        local

创建使用容器

接下来创建容器指定网络即可

复制代码 代码如下:
docker run --net=gitlab-net --ip=172.16.0.170  -dt --name test centos:7

--net 指定使用的网络,--ip 用于指定网段内 IP;启动后只需要在容器内启动程序测试即可

# 启动一个 nginx
yum install nginx
nginx

启动后在局域网内能直接通过 IP:80 访问,而且宿主机 80 不受影响

docker-compose 测试

docker-compose 示例如下

version: '2'
services:
 centos:
  image: centos:7
  restart: always
  command: /bin/bash -c "sleep 999999"
  networks:
   app_net:
    ipv4_address: 10.10.1.34
networks:
 app_net:
  driver: macvlan
  driver_opts:
   parent: enp3s0
  ipam:
   config:
   - subnet: 10.10.1.0/24
    gateway: 10.10.1.2
#    ip_range: 10.25.87.32/28

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

标签:
docker,宿主机ip,docker,宿主机同网段,docker,分配宿主机IP

神剑山庄资源网 Design By www.hcban.com
神剑山庄资源网 免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
神剑山庄资源网 Design By www.hcban.com

评论“Docker 如何分配宿主机网段 IP”

暂无Docker 如何分配宿主机网段 IP的评论...

P70系列延期,华为新旗舰将在下月发布

3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。

而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?

根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。