服务“app”依赖于未定义的服务数据库:无效的撰写项目

Kad*_*rau 5 go docker google-cloud-platform docker-compose go-gin

我在 Gin 框架中构建了一个 Go 服务器,现在我想将其部署到 GCP。我正在尝试在 GCP 计算引擎中的虚拟机上运行 docker compose up -d 。该命令在我的本地计算机中成功运行,但在 VM 终端中显示错误我在终端中收到的错误是: service "app" depends on undefined service db: invalid compose project

我的 docker-compose.yml 代码是:

version: "3.7"

services:
  database:
    container_name: mywealth-database
    image: postgres:12.8
    restart: always
    environment:
      - POSTGRES_USER=sharauq
      - POSTGRES_PASSWORD=sharauq
      - POSTGRES_DB=mywealth
    ports:
      - 5432:5432
    volumes:
      - db:/var/lib/postgresql/data
  app:
        container_name: app
        restart: always
        build: .
        ports:
            - "8080:8080"
        depends_on: 
            - db

volumes:
  db:
Run Code Online (Sandbox Code Playgroud)

我的 Dockerfile 是:

# Start from the latest golang base image.
FROM golang:latest

# Add maintainer information
LABEL maintainer="sharaukadr2001@gmail.com"

# Set the current working directory inside an image.
WORKDIR /app

# Copy Go module dependency requirements file.
COPY go.mod .

# Copy Go Modules expected hashes file.
COPY go.sum .

# Download dependencies.
RUN go mod download

# Copy all sources.
COPY . .

# Build the application.
RUN go build -o /mywealth

# Delete source files.
RUN find . -name "*.go" -type f -delete

# Run the application.
CMD ["/mywealth"]
Run Code Online (Sandbox Code Playgroud)

Han*_*ian 5

您“依赖”其他服务。不在卷上。

您的数据库服务被调用,因此docker-compose.yml 文件中的服务定义database中的“depends_on”应该是。不是。appdatabasedb