docker 創建容器時指定容器ip的實現示例

Docker創建容器時默認采用bridge網絡,自行分配ip,不允許自己指定。

在實際部署中,我們需要指定容器ip,不允許其自行分配ip,尤其是搭建集群時,固定ip是必須的。

我們可以創建自己的bridge網絡 : mynet,創建容器的時候指定網絡為mynet並指定ip即可。

查看網絡模式

docker network ls

創建一個新的bridge網絡

docker network create --driver bridge --subnet=172.18.12.0/16 --gateway=172.18.1.1 mynet

查看網絡信息

docker network inspect mynet

創建容器並指定容器ip

docker run -e TZ="Asia/Shanghai" --privileged -itd -h hadoop01.com --name hadoop01 --network=mynet --ip 172.18.12.1 centos /usr/sbin/init

運行容器

docker exec -it hadoop01 /bin/bash

centos最小化安裝沒有ifconfig命令,可通過yum進行安裝

yum install -y net-tools

安裝ssh服務

yum install -y openssh-server

yum install -y openssh-clients

systemctl start sshd.service

新增非root用戶

useradd brock

passwd brock

通過本地客戶端訪問(通過創建容器時指定端口或配置獨立ip)

docker run -e TZ="Asia/Shanghai" -p 6001:22 --privileged -itd -h hadoop01.com --name hadoop01 --network=mynet --ip 172.18.12.1 centos /usr/sbin/init

route -p add 172.18.12.0 MASK 255.255.255.0 10.0.75.2

推薦閱讀: