Возникают проблемы с пониманием публикации портов Docker Service - PullRequest
0 голосов
/ 23 сентября 2019

Мне нужна ваша помощь, чтобы понять, правильно ли я понимаю, как работает докер.

Я создал собственный образ с помощью Dockerfile.Dockerfile выглядит следующим образом:

FROM mcr.microsoft.com/dotnet/framework/wcf:4.8
COPY ./ .
RUN "C:\assets\vc_redist.x64.exe" /quiet /install
WORKDIR /ServicioOcr .
RUN powershell -NoProfile -Command \    
Import-module IISAdministration; \    
New-IISSite -Name "ServicioOcr" -PhysicalPath C:\ServicioOcr -BindingInformation "*:1990:"; \ 
Add-WindowsFeature NET-WCF-HTTP-Activation45 
ENTRYPOINT ["C:\\KeepAlive.exe"]
EXPOSE 1990

Затем я без проблем запускаю контейнер, публикующий открытые порты:

d96e49d67157        ocrserviceimage:v1   "C:\\ServiceMonitor.e"   3 hours ago         Up 2 hours          80/tcp, 808/tcp, 0.0.0.0:2019->1990/tcp   ocrservcont

Затем я создал Docker Service, чтобы я мог иметь несколько репликиз контейнеров, в которых размещается служба, с помощью следующей команды:

docker service create --name=SWARM_OCR_SERVICE ocrserviceimage:v8 --publish 2020:1990

Затем я запускаю контейнер внутри службы, поэтому я проверяю, был ли порт опубликован правильно, но это не было

shkmfrrodg1a        SWARM_OCR_SERVICE.1       ocrserviceimage:v8   BAZ1573221          Running             Running 2 hours ago 

Как я понимаю, Docker Service должен работать следующим образом:

  • Docker Service создает количество указанных реплик внутри него.Каждая реплика, на которой запущен отдельный экземпляр службы.
  • Служба внутри контейнеров должна быть доступна через опубликованный порт ip:.
  • Запросы отправляются на опубликованный порт ip: и затем направляются вдоступная копия / контейнер, который может с этим справиться.

Правильно ли мое понимание?

Заранее спасибо.

...