造个轮子

docker-Hadoop全家桶 - debian8-jdk8-

2018-11-19  本文已影响4人  XIAO_WS

debian8-jdk8-ssh.dockerfile

#debian8-jdk8-ssh.dockerfile
FROM java:8-jdk
# MAINTAINER XIAOWS <xiaows08@163.com>
WORKDIR /root/

RUN echo 'deb http://mirrors.aliyun.com/debian stretch main' > /etc/apt/sources.list;\
    echo '#deb-src http://mirrors.aliyun.com/debian stretch main' >> /etc/apt/sources.list;\
    echo 'deb http://mirrors.aliyun.com/debian stretch-updates main' >> /etc/apt/sources.list;\
    echo '#deb-src http://mirrors.aliyun.com/debian stretch-updates main' >> /etc/apt/sources.list;\
    echo 'deb http://mirrors.aliyun.com/debian-security stretch/updates main' >> /etc/apt/sources.list;\
    echo '#deb-src http://mirrors.aliyun.com/debian-security stretch/updates main' >> /etc/apt/sources.list;\
    apt-get update;\
    apt-get install -y openssh-server wget curl net-tools vim fping;\
    apt-get clean;\
    ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '';\
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys;\
    echo '\tStrictHostKeyChecking no' >> /etc/ssh/ssh_config;\
    echo 'set ts=4' > /root/.vimrc;\
    echo 'set expandtab' >> /root/.vimrc;\
    echo 'set nu' >> /root/.vimrc;\
    echo "alias la='ls -A'" >> /root/.bashrc;\
    echo "alias ll='ls -alhF'" >> /root/.bashrc;\
    echo "alias l='ls -lhF'" >> /root/.bashrc;

# ENTRYPOINT ["service ssh start;"]
CMD ["sh", "-c", "service ssh start; bash"]

COPY ./*.dockerfile /

建立统一网卡

docker network create --subnet 172.11.1.1/24 cluster

run-container.sh

#run-container.sh
#!/bin/bash

if [ $# = 0 ]
then
    echo "1. Please specify the docker-image of cluster !"
    echo "2. Please specify name of cluster service !"
    exit 1
fi

image_name=$1
service_name=$2
net_name=${3:-cluster}
docker rm -f ${service_name}-{1,2,3}
i=1
while [ $i -lt 4 ]
do
    echo "start ${service_name}-$i container..."
    docker run -itd \
        --net=${net_name} \
        --hostname ${service_name}-$i \
        --name ${service_name}-$i \
        --restart=always \
        $image_name
    i=$(( $i + 1 ))
done

docker exec -it ${service_name}-1 bash
上一篇 下一篇

猜你喜欢

热点阅读