制作ssh互信的docker镜像

Posted styshoo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了制作ssh互信的docker镜像相关的知识,希望对你有一定的参考价值。

Dockerfile

FROM ubuntu:16.04

# package
RUN apt-get update; apt-get -y install ssh
COPY ssh_config /etc/ssh/ssh_config

# ssh
RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config && sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
RUN echo "root:root" | chpasswd
RUN echo "root   ALL=(ALL)       ALL" >> /etc/sudoers
RUN ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' && \\
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
RUN mkdir /var/run/sshd
EXPOSE 22

CMD [ "sh", "-c", "service ssh start && bash"]

生成镜像

docker build -t sshimage ./

验证ssh互信

  启动第一个docker容器,然后会进入bash,执行hostname -i来获取ip。

# docker run --rm -it sshimage
root@cbdf1f5e7e0f:/# hostname -i
172.17.0.4

  再启动另一个容器,并执行ssh $ip。

# docker run --rm -it sshimage
 * Starting OpenBSD Secure Shell server sshd                             [ OK ] 
root@ecaa455762df:/# ssh 172.17.0.4
Warning: Permanently added '172.17.0.4' (ECDSA) to the list of known hosts.
root@cbdf1f5e7e0f:~# hostname -i
172.17.0.4

  可以看到,ssh成功。

以上是关于制作ssh互信的docker镜像的主要内容,如果未能解决你的问题,请参考以下文章

6.docker制作SSH服务镜像

3.Docker的镜像制作

unison 双向镜像同步

在Docker中跑Hadoop与镜像制作

docker—部分镜像模板

docker—部分镜像模板