如何使用docker-compose将.NetCore连接到PostgreSQL?

时间:2019-04-23 10:27:15

标签: docker .net-core docker-compose

我在通过docker-compose build和docker-compose up命令运行Docker容器时遇到了一个问题。

它告诉我 错误:字符处不存在关系“博客”

这是我的docker-compose.yml文件

version: '3.4'

networks:
  dockerapi-dev:
    driver: bridge 

services:
  dockerapi:
    image: dockerapi:latest
    depends_on:
      - "postgres_image"
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "8000:80"     
    environment:
      DB_CONNECTION_STRING: "host=postgres_image;port=5432;database=blogdb;username=bloguser;password=bloguser"
    networks:
      - dockerapi-dev  

  postgres_image:
    image: postgres:latest
    ports:
      - "5432"
    restart: always
    volumes:
      - db_volume:/var/lib/postgresql/data
      - ./dbscripts/seed.sql :/docker-entrypoint-initdb.d/seed.sql
    environment:
      POSTGRES_USER: "bloguser"
      POSTGRES_PASSWORD: "bloguser" 
      POSTGRES_DB:"blogdb"
    networks:
      - dockerapi-dev
volumes:
  db_volume:

这是seed.sql文件,我正在使用它来创建数据库。

\connect blogdb

CREATE TABLE blog
(
    id serial PRIMARY KEY,
    title  VARCHAR (50)  NOT NULL,
    description  VARCHAR (100)  NOT NULL
);

ALTER TABLE blog OWNER TO bloguser;

Insert into blog(title,description) values( 'Title 1','Description 1');
Insert into blog(title,description) values( 'Title 2','Description 2');
Insert into blog(title,description) values( 'Title 3','Description 3');
Insert into blog(title,description) values( 'Title 4','Description 4');

注意:我在.net Core类中使用DB_CONNECTION_STRING:来建立连接。

如果我缺少任何东西,将不胜感激。

0 个答案:

没有答案