通过SSH将应用程序安装到Docker容器中

为了提供背景知识,我有一个部署工作stream,可以同时将应用程序下载并安装到多个系统/服务器中。 为了testing这个工作stream程,我需要validation在500个系统上的并发部署。 我无法创build500个虚拟机来testing这个。 我采取了Docker容器的方法来testing这个工作stream程。 现在面临的挑战是如果我启动一个具有公共/静态IP地址的容器并在容器中安装ssh,那么我可以通过sshlogin到这个容器。 但是我不能用相同的configuration启动另一个容器,因为主机上的容器#1已经使用了端口22,并且我不能给出不同的端口,因为我的部署工作stream在内部只使用端口22。

我认为使用端口转发/ NAT可以实现,可以是每当请求到达IP#1时,然后使用端口22,并且当请求到达IP#2时,然后使用端口#27。 但是我不确定这是否可能。

任何指针在这将是非常有帮助的。

首先,docker将容器端口映射到不同的主机端口 – 使用-p启动容器。

docker run mycontainer -p 10001:22 docker run mycontainer -p 10002:22 docker run mycontainer -p 10003:22 etc. 

从docker运行引用 :

-p = []:将容器端口或一系列端口发布到主机。

编辑:我想我误读你的使用SSH。

部署工作stream是通过ssh连接到每个容器(push)还是联系(pull)? 如果推送,只需推送到500个客户,例如:10001到10501。 如果拉,所有的客户将无论如何要22。