В своем решении VS2017 я добавил поддержку докера для того, чтобы докернизировать мое приложение и установить его в Linux.
докер-compose.yml
version: '3.4'
networks:
net-delivery-dev:
driver: bridge
services:
# Application
delivery.api:
image: ${DOCKER_REGISTRY-}delivery.api
build:
context: ../../src/
dockerfile: delivery.api/Dockerfile
environment:
DB_CONNECTION_STRING: "<connection string>"
depends_on:
- "db"
networks:
- net-delivery-dev
# Database (postgresql)
db:
image: postgres:9.6
restart: 'always'
ports:
- '5432:5432'
#build: './postgres'
environment:
- "POSTGRES_USER:<usr>"
- "POSTGRES_PASSWORD:<pwd>"
volumes:
# Persist the data between container invocations
- postgresVolume:/var/lib/postgresql/data
- ./logs:/logs
- ./postgres/initdb.sql :/docker-entry-initdb/initdb.sql
networks:
- net-delivery-dev
# Creates a named volume to persist our data.
volumes:
postgresVolume:
Публикация контейнера в VS2017 в Docker Hub работает нормально.
Однако, когда я иду на свой сервер Linux, я запускаю команду docker pull, чтобы получить образ, а затем:
docker run --rm -p 81:80 -e "ASPNETCORE_URLS=http://+:80" -dt --name "trial" <repo>/delivery.api:latest
Эта часть запускает только приложение .NET Core, а не сервер postgresql.
docker logs <id>
Hosting environment: Production
Content root path: /app
Now listening on: http://[::]:80
Application started. Press Ctrl+C to shut down.
Как мне запустить оба сервиса?
С уважением,