不论是开发者是运维人员,都经常有需要进入容器的诉求,目前看,主要的方法不外乎以下几种:
(1)使用ssh登陆进容器,需要在容器中安装启动sshd,存在开销和攻击面增大的问题,同时也违反了Docker所倡导的一个容器一个进程的原则。容器本身是一个无状态,用后即焚的东西。为了尽量的轻量快捷建议一个容器尽量只有一个进程,否则你的容器会越来越大,越来越像一个虚拟机一样笨重不宜维护。
(2)使用docker本身提供的工具,大多数情况最好还是使用Docker原生方法,Docker目前主要提供了Docker exec和 Docker attach两个命令。
我之前有篇博客是用 centos 镜像作为基础镜像来进行 ssh 连接,但是我们现在要做的是要以各种数据库如:postgres、mysql等的镜像作为基础镜像来 ssh 连接,所以需要换一种方式。
主要参考这几篇博客吧。
1、使用ssh连接docker容器:https://blog.csdn.net/qq_34021712/article/details/73379851
2、SSH 的安装
SSH 分客户端 openssh-client 和 openssh-server
如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo apt-get install openssh-client)。
如果要使本机开放SSH服务就需要安装openssh-server。
#配置ssh#
echo -e "