如何使用 docker 运行 golang?

我正在尝试将 docker 与 go lang 和 PostgreSQL 一起使用


我有这个项目结构:


-project_name

   - src

     - app

     - config

     - main.go

     - .env

     - docker-compose.yml 

     - Dockerfile

docker-compose.yml 文件包含(我需要 GO 服务器和 PostgreSQL)


version: '3.9'

services:

  app:

    container_name: logger_app

    build: ..

    ports:

      - "12000:12000"

    restart: on-failure

    volumes:

      - .:/app

    depends_on:

      - postgres

    networks:

      - MYAPP


  postgres:

    image: postgres:latest

    container_name: postgres_db

    environment:

      - POSTGRES_USER=${DB_USER}

      - POSTGRES_PASSWORD=${DB_PASSWORD}

      - POSTGRES_DB=${DB_NAME}

      - DATABASE_HOST=${DB_HOST}

    ports:

      - '5432:5432'

    networks:

      - MYAPP


networks:

  MYAPP:

    driver: bridge

Dockerfile 包含:


FROM golang:1.18 as builder


RUN mkdir /app

WORKDIR /app


COPY . .


RUN go get -d -v ./...


RUN go install -v ./...



RUN go build -o /build


EXPOSE 12000


CMD [ "/build" ]

当我运行 docker-compose up --build 我得到这个错误:


failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount868285600/Dockerfile: no such file or directory

ERROR: Service 'app' failed to build : Build failed


米脂
浏览 133回答 1
1回答

交互式爱情

将构建行更改为build: .行。compose 文件和 Dockerfile 在同一个目录下。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java