在 Docker 中运行 Rust 项目失败

问题描述 投票:0回答:1

所以我决定将我的 Rust 项目容器化。 这是我的 Dockerfile。

FROM rust:slim

WORKDIR /usr/src/app

COPY . .

RUN cargo build --release

CMD ["/usr/src/app/target/debug/solfire"]

这是我的 docker-compose.yml

version: "3.8"

services:
  app:
    build: ./
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=postgres://postgres:postgres@db:5432/postgres
    depends_on:
      - postgres

  postgres:
    image: postgres:latest
    ports:
      - "5433:5432"
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=postgres
    volumes:
      - postgres_data:/var/lib/postgresql/data

volumes:
  postgres_data:

运行 docker-compose up 后得到的是:

error: linking with `cc` failed: exit status: 1

我相信问题出在 Dockerfile 上,我找不到如何修复它。

docker rust docker-compose dockerfile
1个回答
0
投票

如果运行

cargo build --release
,二进制文件将不会位于
target/debug
文件夹中。

您的 Dockerfile 需要指向二进制文件的位置。

可能是在

target/release

© www.soinside.com 2019 - 2024. All rights reserved.