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

问题描述:

为了给出背景,我有一个部署工作流程,它同时将应用程序下载并安装到多个系统/服务器中。为了测试这个工作流程,我需要验证500个系统上的并发部署。我无法创建500个虚拟机来测试它。我采用了Docker容器的方法来测试这个工作流程。现在的挑战是如果我使用公共/静态IP地址启动一个容器并在容器中安装ssh,那么我可以通过ssh登录到这个容器。但是因为端口22的主机上已经使用的容器#1,我不能开始与相同配置aother容器中,我不能给不同的端口,因为我展开工作流程内部只使用端口22通过SSH将应用程序安装到Docker容器中

我认为使用端口转发/ 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 run reference

-p = []:发布容器端口或一组端口到主机的。

编辑:我想我误解你的ssh的使用。

部署工作流程是通过ssh连接到每个容器(推送)还是联系(拉)?如果推送,只需推送给500个客户,例如:10001至10501。如果拉动,所有客户无论如何都会打22。