Docker 创建centos容器集群并实现远程登录功能

来自:网络
时间:2023-05-17
阅读:
目录

Docker 创建centos容器集群并实现远程登录

Docker 创建centos容器集群并实现远程登录功能

0.拉取Docker镜像(Centos7官方版)

拉取官方镜像(这个镜像里面几乎什么都没有,很多依赖库需要自己配置,实实在在的“纯净版”。关注我,下期教你用ISO镜像文件使用dockerfile制作究极完整版docker镜像)

docker pull centos:centos7

1.搭建网桥加入网络

创建docker bridge网桥

搭建网桥可以方便管理结点,并且让结点同时位于同一个网段下

sudo docker network create NodeNetWork

创建三个不同端口的结点容器

zwb@test-algo:~$ sudo docker run -itd --restart=always --hostname node01 --name Node01 -p 50001:22 -v /data/sda/sharedata:/share --network NodeNetWork --privileged=true centos:centos7 /sbin/init

zwb@test-algo:~$ sudo docker run -itd --restart=always --hostname node02 --name Node02 -p 50002:22 -v /data/sda/sharedata:/share --network NodeNetWork --privileged=true centos:centos7 /sbin/init

zwb@test-algo:~$ sudo docker run -itd --restart=always --hostname node03 --name Node03 -p 50003:22 -v /data/sda/sharedata:/share --network NodeNetWork --privileged=true centos:centos7 /sbin/init

# 参数解释:
# -itd
# 选项		选项简写		说明
# –detach		-d		在后台运行容器,并且打印容器id。
# –interactive	-i		即使没有连接,也要保持标准输入保持打开状态,一般与 -t 连用。
# –tty			-t		分配一个伪tty,一般与 -i 连用。
# --restart=always	机器启动时自启动
# --hostname 初始化的hostname
# -p 50001:22	端口映射 宿主机端口:容器端口这里为22表示容器内ssh端口
# --privileged=true		通过特权模式进入docker,不仅可以使用systemctl命令(centos 7系统),还可以开启ssh服务
# --network NodeNetWork 将容器结点加入网桥中

# 注意:在 Linux Docker中无法使用 systemd(systemctl) 相关命令的原因是 1号进程不是 init ,而是其他例如 /bin/bash ,所以导致缺少相关文件无法运行。(System has not been booted with systemd as init system (PID 1). Can't operat
#解决方案:/sbin/init并且--privilaged=true一定要加上

2.配置机器网络环境并加入ssh

以Node01为例子,进入结点容器并配置网络环境并加入ssh

(base) zwb@test-algo:~$ sudo docker exec -it Node01 /bin/bash
[root@aa92cb71e3ab /]# yum -y install net-tools.x86_64
Failed to set locale, defaulting to C.UTF-8
CentOS Linux 8 - AppStream                                                               26  B/s |  38  B     00:01    
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist

可以看到我们在安装网络工具包的时候出错了,上面的报错信息意思是,从仓库 ‘appstream’ 下载元数据失败:由于镜像列表中没有 URL,不能准备内部镜像列表。

返回顶部
顶部