这篇文章主要讲解了“如何制作ssh互信的docker镜像”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何制作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镜像”的内容了,经过本文的学习后,相信大家对如何制作ssh互信的docker镜像这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是天达云,小编将为大家推送更多相关知识点的文章,欢迎关注!