【发布时间】:2020-06-01 08:29:05
【问题描述】:
您好,我的节点项目出现以下错误:
(节点:51)UnhandledPromiseRejectionWarning:错误:getaddrinfo ENOTFOUND ${DB_HOST}
我在想问题是我的项目开始时我的 postgress 还没有开始 所以我想不出在我的 postgres 准备好后如何启动我的容器的解决方案,我读了一些关于 dockerize 的东西,但我无法想象如何应用
我的 docker 文件:
FROM node:lts-alpine
RUN mkdir -p /home/node/api/node_modules && chown -R node:node /home/node/api
WORKDIR /home/node/api
COPY ormconfig.json .env package.json yarn.* ./
USER node
RUN yarn
COPY --chown=node:node . .
EXPOSE 4000
CMD ["yarn", "dev"]
我的 docker 撰写:
version: '3.7'
services:
ci-api:
build: .
container_name: ci-api
volumes:
- .:/home/node/api
- /home/node/api/node_modules
ports:
- '${SERVER_PORT}:${SERVER_PORT}'
depends_on:
- ci-postgres
networks:
- ci-network
ci-postgres:
image: postgres:12
container_name: ci-postgres
ports:
- '${DB_PORT}:5432'
environment:
- ALLOW_EMPTY_PASSWORD=no
- POSTGRES_USER=${DB_USER}
- POSTGRES_PASSWORD=${DB_PASS}
- POSTGRES_DB=${DB_NAME}
volumes:
- ci-postgres-data:/data
networks:
- ci-network
volumes:
ci-postgres-data:
networks:
ci-network:
driver: bridge
这是我的 .env
SERVER_PORT=4000
DB_HOST=ci-postgres
DB_PORT=5432
DB_USER=spirit
DB_PASS=api
DB_NAME=emasa_ci
【问题讨论】:
-
我很困惑,我是 docker 新手,你能帮帮我吗?
标签: postgresql docker docker-compose