1、配置网络代理(公司电脑需要设置代理)
vi /etc/profile
http_proxy=ip:port
https_proxy=$http_proxy
2、安装docker
3、下载centos镜像
docker pull centos
4、以centos镜像为基础,配置ssh
vi Dockerfile-ssh -- 配置ssh
=====================================
FROM centos -- 指定镜像
RUN yum install -y openssh-server sudo
RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
RUN yum install -y openssh-clients sudo
RUN echo "root:111111" | chpasswd -- 设置root用户密码为111111
RUN echo "root ALL=(ALL) ALL" >> /etc/sudoers
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
RUN mkdir /var/run/sshd
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
=========================================
5、根据Dockerfile-ssh 生成新的镜像centos-ssh
docker build -f Dockerfile-ssh -t centos-ssh . --- -f 指定Dockerfile文件路径 -t 新生成镜像名称
6、测试ssh 配置 启动一个容器
docker run -d --name=ssh centos-ssh -- 启动一个docker容器,名称为ssh -d 守护进程
7、设置容器ip
pipework br1 ssh 192.168.3.20/24
8、ssh 测试连接
ping 192.168.3.20
ssh 192.168.3.20 即可
9、同样方式 ,在centos-ssh镜像基础上配置jdk和hadoop环境 Dockerfile-hadoop
======================================
FROM centos-ssh
ADD jdk-8u151-linux-x64.tar.gz /usr/local/
RUN mv /usr/local/jdk1.8.0_151 /usr/local/jdk1.8
ENV JAVA_HOME /usr/local/jdk1.8
ENV PATH $JAVA_HOME/bin:$PATH
ADD hadoop-3.0.3.tar.gz /usr/local
RUN mv /usr/local/hadoop-3.0.3 /usr/local/hadoop
ENV HADOOP_HOME /usr/local/hadoop
ENV PATH $HADOOP_HOME/bin:$PATH
====================
10、在相应位置放置jdk hadoop文件包
11、docker build -f Dockerfile-hadoop -t hadoop
12、
$ docker run --name hadoop0 --hostname hadoop0 -d -P -p 50070:50070 -p 8088:8088 hadoop
$ docker run --name hadoop1 --hostname hadoop1 -d -P hadoop
$ docker run --name hadoop2 --hostname hadoop2 -d -P hadoop
-name 指定名称 - hostname 指定hostname
分别执行ip地址
13、三台机器配置完毕,可参照 CentOS7搭建hadoop 进行集群配置
14、配置完成后可导出镜像 ,方便以后使用 docker export 0eb928509951 >> hadoop.tar
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
0eb928509951 hadoop "/usr/sbin/sshd -D" 30 minutes ago Up 30 minutes 0.0.0.0:32771->22/tcp