Поставка контейнеров .NET Core PostgreSQL для Linux - PullRequest
0 голосов
/ 07 апреля 2019

В своем решении 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.

Как мне запустить оба сервиса?

С уважением,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...