问题描述
考虑 Dockerfile:
Dockerfile:
FROM node:14
copY . /app
RUN npm i
RUN npm run build_database_migrations <<<<====== This is the problematic command
... more commands
使用 sequelize-cli
:
在 package.json 中:
"scripts": {
"build_database_migrations": "sequelize db:migrate",}
还有 Docker-compose :
Docker-compose.yaml
version: "3"
services:
postgresql:
image: postgres:latest
environment:
POSTGRES_USER: user1
POSTGRES_PASSWORD: pass1
POSTGRES_DB: somedb
ports:
- "5432:5432"
app:
build:
context: ./employee
dockerfile: ./Dockerfile
ports:
- "9000:9000"
restart: on-failure
depends_on:
- postgresql
links:
- postgresql
每当我运行 Docker-compose up
时,app
都不会等待 postgresql
启动并运行,
这导致在 Postgreqsql 容器侦听端口 app
之前构建 RUN npm run build_database_migrations
容器并运行命令 5432
。
我们如何强制 app
容器等待 Postreqsql
容器准备就绪并监听端口 5432
,以便它能够在实时 Postgresql 容器上运行迁移?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)