Создано простое приложение, которое подключается к PostgreSQL, но когда я его контейнеризовал с помощью Docker, я не могу запустить его, и при запуске контейнера не было показано ни одного порта / портов.В чем проблема?
Приложение работает без Docker, но когда я его контейнирую, возникает проблема.
docker build
успешно, и когда я использую docker run
, он дает мне контейнер, но когда я проверяю его, используя docker ps -a
, нет портов, где показано
Эточто я сделал на докерном терминале
и это мой код при подключении к PostgreSQL db
class Program
{
static void Main(string[] args)
{
using (var connection = new NpgsqlConnection("Host=localhost;Username=postgres;Password=password;Database=user"))
{
connection.Open();
connection.Execute("Insert into customer (name) values ('Mikolasola');");
var value = connection.Query<string>("Select name from customer;");
Console.WriteLine(value.First());
}
Console.Read();
}
}
вот мой файл докера
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build-env
WORKDIR /app
COPY *.csproj ./
RUN dotnet restore
COPY . ./
RUN dotnet publish -c Release -o out
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "webapplication1.dll"]
Редактировать: Я изменил свой файл Docker на этот, и теперь я каким-то образом могу получить порт
FROM microsoft/dotnet:2-sdk AS build-env
WORKDIR /app
COPY *.csproj ./
RUN dotnet restore
COPY . ./
RUN dotnet publish -c Release -r linux-x64 -o out
FROM microsoft/dotnet:2-runtime-deps
WORKDIR /app
COPY --from=build-env /app/out ./
ENTRYPOINT ["./webapplication1"]
Но я не могу его запустить.Вот скриншот
Любая помощь будет высоко ценится.Спасибо!PS: я новичок