Прежде всего, я получил 2 консольных приложения.Один должен быть клиентом, а другой - слушателем.
Клиент - это программа, которая находится в контейнере в Docker.Другой, который я использую на своем ПК.
Теперь проблема в том, что я пытаюсь подключить клиент к своему слушателю.Если я тестирую его на своем локальном компьютере, он работает просто отлично, но когда я собираю его как образ и запускаю, он не подключается.
Клиент:
TcpClient tcpClient;
do
{
tcpClient = new TcpClient("IP", PORT);
} while (!tcpClient.Connected);
Слушатель:
var tcpListener = new TcpListener(PORT);
var tcpClient = tcpListener.AcceptTcpClient();
Как я уже говорил ранее, локально это работает, но когда помещено в образ Docker, оно не будет.
Dockerfile
FROM mcr.microsoft.com/dotnet/core/aspnet
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "tcpconnector.dll"]
Команды Docker:
docker build -t tcpconnector .
docker run -d --name connector tcpconnector
Контейнер запускается и работает отлично, но не подключается к моему слушателю.Если я меняю направление и слушатель находится внутри изображения, я выставляю порт, на котором слушаю, вот так:
docker run -d -p PORT --name listener IMAGE
Это работает !!Но я не могу заставить его работать наоборот.