我在后端使用 nestjs,并使用 typeorm 作为 ORM。我试图在 docker-compose 文件中定义我的数据库和我的应用程序。
如果我将我的数据库作为容器运行,而我的应用程序从我的本地机器运行,它运行良好。我的程序连接并创建表等。
但是,如果我尝试从容器内连接数据库或使用 docker-compose up 启动容器,则会失败。
总是得到一个 ECONNREFUSED 错误。
我的错误在哪里?
docker-compose.yml
version: '3.1'
volumes:
dbdata:
services:
db:
image: postgres:10
volumes:
- ./dbData/:/var/lib/postgresql/data
restart: always
environment:
- POSTGRES_PASSWORD=${TYPEORM_PASSWORD}
- POSTGRES_USER=${TYPEORM_USERNAME}
- POSTGRES_DB=${TYPEORM_DATABASE}
ports:
- ${TYPEORM_PORT}:5432
backend:
build: .
ports:
- "3001:3000"
command: npm run start
volumes:
- .:/src
Run Code Online (Sandbox Code Playgroud)
文件
FROM node:10.5
WORKDIR /home
# Bundle app source
COPY . /home
# Install app dependencies
#RUN npm install -g nodemon
# If you are building your …Run Code Online (Sandbox Code Playgroud)