下面是我的代码:
version: '3.8'
services:
redis:
image: redis:alpine
ports:
- 6379:6379
express:
image: node:lts-alpine
container_name: nodejs
build:
context: /
command: npm run dev
restart: always
environment:
NODE_ENV: development
ports:
- 3000:3000
volumes:
- ./:/src
depends_on:
database:
condition: service_completed_successfully
redis:
condition: service_completed_successfully
database:
image: postgres:15-alpine
restart: always
environment:
POSTGRES_PASSWORD: password
POSTGRES_USER: admin
POSTGRES_DB: ***
ports:
- 5432:5432
db-admin:
image: dpage/pgadmin4
environment:
PGADMIN_DEFAULT_EMAIL: admin@example.com
PGADMIN_DEFAULT_PASSWORD: password
ports:
- 8081:80
volumes:
- ./pgadmin/servers.json:/pgadmin4/servers.json
docker-compose运行后,它只完成到db-admin
,而不是express
,然后停止在那里。但是,如果我在Docker Desktop中手动运行express
容器,它将开始运行。有什么帮助吗?
1条答案
按热度按时间nhaq1z211#
如果你的逻辑看起来更复杂,那么最好有一个脚本来执行所有的验证并返回true或false。
在图像本身中添加这样的脚本作为实用程序脚本。