免密处理

!!!以下指令需要在三个容器中都运行!!!

安装ssh及网络工具

  1. 输入指令来安装ssh和网络工具
1
yum install openssh-server openssh-clients net-tools

配置 ssh

  1. 编辑/etc/ssh/sshd_config文件
1
vi /etc/ssh/sshd_config
  1. 去掉Port 22此行最前面的”#”号, 开放22端口
1
2
3
4
5
6
7
8
# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
  1. 开启ssh
1
2
systemctl start sshd    # 开启ssh
systemctl enable sshd # 开机自启

修改root密码

  1. 输入passwd指令后修改root的密码
1
passwd

配置/etc/hosts文件

  1. master slave1 slave2容器的ip地址添加进/etc/hosts文件
1
2
3
192.168.1.151   master
192.168.1.152 slave1
192.168.1.153 slave2

免密处理

  1. 生成ssh密钥, 并应用在每容器中
1
ssh-keygen
  • ssh-keygen指令用于生成公钥与私钥对
1
ssh-copy-id master; ssh-copy-id slave1; ssh-copy-id slave2
  • ssh-copy-id指令用于将本地的公钥复制到远程机器的 authorized_keys 文件中

安装 JDK8

复制和安装JDK8

  1. 将本地的jdk-8u202-linux-x64.tar.gz复制进master容器中root目录中
1
docker cp /path/to/jdk-8u202-linux-x64.tar.gz master:/root
  • docker cp指令用于将本地文件复制进容器指定目录中
  1. 使用tar指令解压到/opt/module目录中(目录没有直接创建一个)
1
tar zxvf /root/jdk-8u202-linux-x64.tar.gz -C /opt/module/
  1. jdk文件夹重新命名
1
mv /opt/module/jdk1.8.0_202/ /opt/module/jdk
  1. 编辑/etc/profile环境
1
vi /etc/profile

配置环境

  1. 添加JAVA_HOMEPATH环境变量
1
2
export JAVA_HOME=/opt/module/jdk
export PATH=$PATH:$JAVA_HOME/bin
  1. 生效profile
1
source /etc/profile
  • 建议生效后输入 java 的指令验证一下: java javac

分发文件和环境

  1. 分发/opt/module/jdk/ /etc/profile到容器slave1 slave2, 并且生效容器slave1 slave2中的profile
1
2
3
scp -r /opt/module/jdk/ slave1:/opt/module/; scp -r /opt/module/jdk/ slave2:/opt/module/

scp /etc/profile slave1:/etc/profile; scp /etc/profile slave2:/etc/profile

参考文章

使用 ssh-keygen 和 ssh-copy-id 三步实现 SSH 无密码登录 和 ssh 常用命令