Я использую следующий файл docker compose для создания моего стека роя Docker, в котором контейнеры Windows развернуты в Windows 10:
version: '3.2'
services:
service1:
image: myrepository/dotnet-framework:3.5-windowsservercore
environment:
- my_path="C:/app/build/app.exe"
- my_arg= 1
deploy:
replicas: 1
placement:
constraints:
- node.id == asdfasdgasgasg
volumes:
- service1:C:/app
service1:
image: myrepository/dotnet-framework:3.5-windowsservercore
ports:
- target: 7878
published: 7878
mode: host
environment:
- my_path="C:/app/app.exe"
- my_arg= 2
deploy:
replicas: 1
placement:
constraints:
- node.id == asdfasdgasgasg
volumes:
- service1:C:/app
volumes:
service2:
external:
name: service1
service1:
external:
name: service1
Как видите, service2
прослушивает порт 7878
.Я знаю, как показано в этом сообщении, что я не могу добраться до этого порта, используя localhost:7878
.Таким образом, я запускаю команду docker inspect containerID
, чтобы выяснить IP-адрес контейнера.
Если я пингую контейнер service2
из service1
отвечает.Но если я попытаюсь получить доступ к порту 10.0.3.18:7878
с хоста, ответа не будет.Как я могу добраться до порта 7878 от хотов?С другой стороны, у меня есть контейнеры Linux, которые должны достичь контейнера Windows 'service2'.