因为大数据集群需要互相免密。所以在开始之前需要首先构建可以直接互相访问的标准镜像。
准备基础环境
JAVA
将JAVA环境包复制到当前目录
mkdir /home/centos7_jdk8 && cd /home/centos7_jdk8
cp -r /usr/java/jdk1.8.0_181-cloudera ./
编写dockerfile
FROM centos:7.6.1810
COPY ./jdk1.8.0_181-cloudera/* /usr/java/jdk1.8.0_181-cloudera/
RUN yum -y install wget
RUN rm -rf /etc/yum.repos.d/*
RUN wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
RUN yum install -y openssh-server sudo
RUN yum -y install openssh-clients
RUN yum install wget vim ntpdate net-tools -y
RUN echo "123456" |passwd --stdin root
RUN ssh-keygen -t rsa -f /root/.ssh/id_rsa && cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key && \
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key && \
ssh-keygen -t rsa -f /etc/ssh/ssh_host_ecdsa_key && \
ssh-keygen -t rsa -f /etc/ssh/ssh_host_ed25519_key
RUN echo "StrictHostKeyChecking no" | cat >> /etc/ssh/ssh_config
RUN systemctl enable sshd.service
EXPOSE 22
ENV JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
打包镜像
docker build /home/centos7_jdk8 -t centos7_jdk8:latest
运行镜像
docker run -it -d --name centos1 --privileged centos7_jdk8:latest /sbin/init
进入容器后就可以直接ssh登陆了