Что я делаю не так в docker-compose?
Вот мой docker-compose
version: '3.4'
services:
todolist.notification.api:
image: ${DOCKER_REGISTRY-}todolistnotificationapi
depends_on:
- "postgres"
build:
context: .
dockerfile: src/TodoList.Notification.Api/Dockerfile
ports:
- "8000:80"
- "8443:443"
networks:
- my-network
postgres:
image: postgres:13
restart: always
environment:
POSTGRES_DB: Notifications
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres123
ports:
- "5440:5440"
volumes:
- ./postgres-data:/var/lib/postgresql/data
networks:
- my-network
networks:
my-network:
А вот мой connection string
"Db": "Server=postgres;Port=5440;Database=Notifications;User Id=postgres;Password=postgres123;"
Но у меня появляется во такая ошибка
========== Запуск ==========
docker ps --filter "status=running" --filter "label=com.docker.compose.service" --filter "name=^/TodoList.Notification.Api_1$" --format {{.ID}} -n 1
24e56259de6b
docker exec -i -e ASPNETCORE_HTTPS_PORT="50286" 24e56259de6b sh -c ""dotnet" --additionalProbingPath /root/.nuget/packages "/app/bin/Debug/net6.0/TodoList.Notification.Api.dll" | tee /dev/console"
Unhandled exception. Npgsql.NpgsqlException (0x80004005): Failed to connect to 172.19.0.2:5440
---> System.Net.Sockets.SocketException (111): Connection refused
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|277_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
at Npgsql.TaskTimeoutAndCancellation.ExecuteAsync(Func`2 getTaskFunc, NpgsqlTimeout timeout, CancellationToken cancellationToken)
at Npgsql.Internal.NpgsqlConnector.ConnectAsync(NpgsqlTimeout timeout, CancellationToken cancellationToken)
at Npgsql.Internal.NpgsqlConnector.ConnectAsync(NpgsqlTimeout timeout, CancellationToken cancellationToken)
at Npgsql.Internal.NpgsqlConnector.RawOpen(SslMode sslMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken, Boolean isFirstAttempt)
at Npgsql.Internal.NpgsqlConnector.<Open>g__OpenCore|203_1(NpgsqlConnector conn, SslMode sslMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken, Boolean isFirstAttempt)
at Npgsql.Internal.NpgsqlConnector.Open(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
at Npgsql.UnpooledDataSource.Get(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlConnection.<Open>g__OpenAsync|45_0(Boolean async, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenInternalAsync(Boolean errorsExpected, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenInternalAsync(Boolean errorsExpected, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenAsync(CancellationToken cancellationToken, Boolean errorsExpected)
at Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.NpgsqlDatabaseCreator.Exists(Boolean async, CancellationToken cancellationToken)
at Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.NpgsqlDatabaseCreator.Exists(Boolean async, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.ExistsAsync(CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.MigrateAsync(String targetMigration, CancellationToken cancellationToken)
at TodoList.Notification.Api.Extensions.MigratesExtensions.AutoMigrate(WebApplication app) in D:\TodoList\todolist-notification\src\TodoList.Notification.Api\Extensions\MigratesExtensions.cs:line 13
at TodoList.Notification.Api.Program.Main(String[] args) in D:\TodoList\todolist-notification\src\TodoList.Notification.Api\Program.cs:line 31
at TodoList.Notification.Api.Program.<Main>(String[] args)