首页 > 解决方案 > docker-compose 启动单个容器

问题描述

我正在使用 docker-compose,我正在尝试在 docker 容器中运行快速应用程序和 postgres db。我的问题是它只启动 postgres 图像,但 express 应用程序没有运行。

我究竟做错了什么?

我已经在我的 github 上发布了它:https ://github.com/ayakymyshyn/docker-playground

标签: dockerdocker-compose

解决方案


查看您的 docker -compose 文件Dockerfile,我假设您的意图是webcompose 中的服务将实际运行 Dockerfile 生成的图像。

如果是这种情况,您需要修改 compose 文件并告诉它基于 Dockerfile构建映像。

它应该看起来像

version: "3.7"
services: 
  web: 
    image: node
    build: .  # <--- this is the missing line
    depends_on: 
      - db
    ports: 
      - '3001:3001'
  db: 
    image: postgres
    environment: 
      POSTGRES_PASSWORD: 123123123
      POSTGRES_USER: yakym
      POSTGRES_DB: jwt
    volumes: 
      - ./pgdata:/var/lib/postgresql/data
    ports: 
      - '5433:5433'

推荐阅读