CCF | Docker Network
前情提要
❕本教程已默认你已经做好三台机器的免密登录
❕本教程已默认你的虚拟机拥有外部网络访问权限
❕本教程已默认你对
Docker Network拥有基础认知❕本教程已默认你已关闭虚拟机的防火墙
❕本教程不能在
NAT模式下使用❕本教程的虚拟机使用
Bridge桥模式
虚拟机环境: 8C8G
80G 内存
网络适配器:桥模式
著作声明
⚠️在阅读本教程前,你需要同意:
这是一份机密文件,不得随意泄露、分享,著作权和所有权利归属1103 Studio,All Rights Reserved
这个文件中可能含有部分粗鲁的语言,请确保你的环境能够让你阅读(
NSFW)Not Safe For Work!!!!!!!!你默认在
Docker中安装Hadoop集群是一个不明智的行为,其性能开销代价巨大,且配置项复杂。你会
Linux基础操作
温馨提示
记得勤打快照!!!!!!!多打两个快照不会要你命的!!!!
重要⚠️:千万别手贱重启你的虚拟机,
docker不会保留你的容器以及Network网络配置!!!!!!千万不要!!不要!!不要!!不要随意重启!!!!!!! (除非你做了保活相关的指令)
正式开始:
1.在 Docker 中创建网桥
进入虚拟机后首先需要配置 docker,先关闭所有 docker 进程和删除所有 docker 容器,配置 docker 网络(桥模式,并指定网络)
CCF 给的 OpenEuler 系统镜像中,虽然有完整的 Docker 环境,但是 Docker 容器没有端口映射和其他网络相关操作,只能通过 NAT 来完成,这对于模块分工明确的小组来说是非常不利的。
docker stop master slave1 slave2
docker rm master slave1 slave2
#停止并移除容器
# # # # # # # #
docker network rm <你机器docker的自带 network ID(my_xxxxx)>
docker network create -d macvlan \
--subnet=172.16.115.0/16 \
--gateway=172.16.115.1 \
-o parent=ens33 \
hadoop-net
# # # # # # # #
docker run -d \
--name master \
--hostname master \
--network hadoop-net \
--ip 172.16.115.131 \
openeuler/openeuler:latest \
tail -f /dev/null
docker run -d \
--name slave1 \
--hostname slave1 \
--network hadoop-net \
--ip 172.16.115.132 \
my_docker_image \
tail -f /dev/null
docker run -d \
--name slave2 \
--hostname slave2 \
--network hadoop-net \
--ip 172.16.115.133 \
my_docker_image \
tail -f /dev/null创建好 Network之后,建议检查 NMTUI 内的设置,是否激活和启用
然后进入容器内部by:
注:此处
-l后缀指通过登录方式进入内部,可以解决/etc/profile不会自动source的问题docker exec -it <container_name> bash -l
随后使用 dnf 安装必要的包(包括 ssh 等)
新问题:DockerContainer 的默认 DNS 可能会炸
安装必要的软件包
dnf install -y passwd which net-tools iproute iputils procps-ng vim sudo openssh-clients openssh-server hostname完成!