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
来源: http://www.bubuko.com/infodetail-2809446.html