使用 docker 搭建 centos7 三节点集群(含 jdk 安装)

326 阅读2分钟

阅读本本需要一定的 docker 基础,Linux 基础

  1. (宿主机)拉取 centos7 docker镜像
docker pull centos:7
  1. (宿主机)查看镜像(用于填写第三步中,centos:7 这个参数)
docker images
  1. (宿主机)创建并启动 centos7 容器
docker run --privileged -p 宿主机端口:22 --cap-add SYS_ADMIN --name=node1 -e container=docker -itd --restart=always centos:7 /usr/sbin/init
  • --cap-add SYS_ADMIN 与 /usr/sbin/init 确保容器内可以使用 systemctl
  1. (宿主机)查看正在运行的容器(查看容器ID)
docker ps
  1. (宿主机)进入 node1 容器
docker exec -it 容器ID /bin/bash
  1. (容器)安装后续所需的软件
yum -y install initscripts
yum -y install net-tools
yum -y install NetworkManager-tui
yum -y install passwd openssl openssh-server
yum -y install openssh-clients
yum -y install gcc
  1. (宿主机)从 oracle 官网下载 jdk。先将文件上传至宿主机,再拷贝至容器内
docker cp 宿主机文件路径 容器ID:docker容器内路径
  1. (容器)解压 gzip 包
tar -zxvf jdk路径 -C 安装路径
  1. (容器)配置 Java 环境变量。编辑 /etc/profile 文件
export JAVA_HOME=jdk安装路径
export PATH=$PATH:$JAVA_HOME/bin
  1. (容器)生效环境变量
source /etc/profile
  1. (容器)配置 java 执行程序的软连接
rm -f /usr/bin/java
ln -s jdk安装目录/bin/java /usr/bin/java
  1. (容器)验证环境变量配置
java -version
  1. (宿主机)将容器打包成镜像
docker commit 容器id 镜像:版本号

14.(宿主机) 使用 第13步 中打包的镜像,按照 第3步 的方式生成 node2,node3 两个容器(注:宿主机端口映射不应相同)

  1. (容器)查看三个容器的 IP 地址
ifconfig
  1. (容器)在 三个 node 的 /etc/hosts 中追加主机名映射
node1的IP node1
node2的IP node2
node3的IP node3

17.(容器) 配置 ssh 免密登录

  • 三个 node 都执行 ssh-keygen -t rsa -b 4096,命令执行过程中,全程回车
  • 共享密钥(每个 node 都要执行)
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

至此,就可以拥有三个节点,且节点间免密互通的集群了

本文参考:www.bilibili.com/video/BV1n8…

本文参考: blog.csdn.net/Sterry_Gong…