Docker服务作为一个端点,它公开了接收具有多个副本的参数的WCF服务

Docker服务作为一个端点,它公开了接收具有多个副本的参数的WCF服务,docker,wcf,docker-swarm,Docker,Wcf,Docker Swarm,我是docker containers的新手,所以如果我问的是以前解决过的问题,请原谅,但我找不到与此特定问题相关的任何信息 我已经创建了一个自定义映像,它已经为WCF服务的运行做好了一切准备。此外,我已经运行了一个容器,在该容器中我将服务发布到本地端口,并且一切正常。因为我需要根据接收到的请求数量放大和缩小服务,所以我继续创建Docker服务,以便在Docker Swarm中创建该服务的副本,并根据需要放大和缩小服务。但是,当我使用与以前相同的映像创建服务时,我无法使其工作,并不断收到下一个错

我是docker containers的新手,所以如果我问的是以前解决过的问题,请原谅,但我找不到与此特定问题相关的任何信息

我已经创建了一个自定义映像,它已经为WCF服务的运行做好了一切准备。此外,我已经运行了一个容器,在该容器中我将服务发布到本地端口,并且一切正常。因为我需要根据接收到的请求数量放大和缩小服务,所以我继续创建Docker服务,以便在Docker Swarm中创建该服务的副本,并根据需要放大和缩小服务。但是,当我使用与以前相同的映像创建服务时,我无法使其工作,并不断收到下一个错误:

我使用的命令行是下一个命令行:

docker service create --name=SWARM_OCR_SERVICE --endpoint-mode dnsrr --network=SWARM_NETWORK_OCR ocrserviceimage:v7 --publish 2019:2020 --replicas 5
我认为Docker服务将创建与创建时指定的复制副本数量一样多的运行指定映像的容器,如果指定,还将发布该服务,以便您可以向该本地端口(Docker服务端点)发出请求然后在所有这些副本之间相应地路由请求

我试图实现的是公开具有接收参数的WCF服务的容器的多个副本,以便客户端可以向该端点发出请求,并且可以根据需要放大或缩小在任何给定时刻处于活动状态的容器的数量。我是否按预期做了?我理解正确吗?我想做的事情可能是我想做的方式吗


非常感谢。我已经解决了。Docker容器需要始终具有入口点,以保持容器的活动状态。我用于创建容器的映像(来自Microsoft Hub的官方WCF映像)的入口点是一个名为ServiceMonitor.exe的可执行文件,用于监视IIS服务。由于一些我仍然不知道的原因,只有当服务是在其中创建容器的服务时,该服务才会失败。如果我在服务之外运行容器,它运行正常。所以我重写了WCF图像的入口点并设置了自己的入口点。现在,服务中的容器和副本一直处于活动状态并在运行

Tl;dr只要容器的入口点进程正在运行,容器就会处于活动状态。如果停止,容器也会停止