找不到项目Gopkg.toml,请使用dep init初始化清单-在项目使用docker时从dep转到go模块

问题描述

当前正在尝试从dep迁移到go模块。

已经在我的项目源文件夹中运行了go mod vendor tidygo build,一切似乎都很好。

但是,当我尝试通过运行docker-compose up启动项目时,会得到一个

Could not find project Gopkg.toml,use dep init to initiate a manifest

我的docker-compose.yml

version: "2.1"
services:
  api:
    container_name: roseland_api
    build:
      context: .
      dockerfile: Dockerfile.dev
    depends_on:
      - postgres
      - redis
      - elasticsearch
      - mailhog
    environment:
      - ROSELAND_DATABASE_URL=postgres://roseland:roseland@postgres:5432/roseland?sslmode=disable
      - ROSELAND_REdis_URL=redis://redis:6379
      - ROSELAND_ELASTICSEARCH_URL=http://elasticsearch:9200
      - ROSELAND_S3_ENDPOINT=http://localstack:4572
      - FAKTORY_URL=tcp://:roseland@faktory:7419
      - ROSELAND_ES_DEBUG_ENABLED=true
      - ROSELAND_sql_DEBUG_ENABLED=true
      - AUTHORIZATION_LAYER_ENABLED=true
    ports:
      - 8081:8080
    volumes:
      - .:/go/src/github.com/localitylabs/roseland-api
    networks:
      - roseland_network
  postgres:
    container_name: roseland_postgres
    image: postgres:12.4-alpine
    ports:
      - 5433:5432
    volumes:
      - roseland_postgres_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=roseland
      - POSTGRES_PASSWORD=roseland
    networks:
      - roseland_network
  redis:
    container_name: roseland_redis
    image: redis:4.0.10-alpine
    ports:
      - 6380:6379
    volumes:
      - roseland_redis_data:/data
    networks:
      - roseland_network
  elasticsearch:
    container_name: roseland_elasticsearch
    image: docker.elastic.co/elasticsearch/elasticsearch:6.3.0
    ports:
      - 9201:9200
    volumes:
      - roseland_elasticsearch_data:/usr/share/elasticsearch/data
    environment:
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    mem_limit: 1g
    networks:
      - roseland_network
  mailhog:
    container_name: roseland_mailhog
    image: mailhog/mailhog
    user: root
    expose:
      - 1025
      - 8025
    ports:
      - 1026:1025
      - 8026:8025
    networks:
      - roseland_network
  faktory:
    container_name: roseland_faktory
    image: contribsys/faktory
    user: root
    environment:
      - FAKTORY_PASSWORD=roseland
    ports:
      - 7421:7420
    volumes:
      - roseland_faktory_data:/var/lib/faktory
    networks:
      - roseland_network
  localstack:
    container_name: roseland_localstack
    image: localstack/localstack
    environment:
      - SERVICES=s3
      - DEBUG=true
      - data_dir=/tmp/localstack/data
      - START_WEB=0
      - LAMBDA_EXECUTOR=local
      - DOCKER_HOST=unix:///var/run/docker.sock
    volumes:
      - roseland_localstack_data:/tmp/localstack
    networks:
      - roseland_network

volumes:
  roseland_postgres_data:
    driver: local
  roseland_redis_data:
    driver: local
  roseland_elasticsearch_data:
    driver: local
  roseland_localstack_data:
    driver: local
  roseland_faktory_data:
    driver: local

networks:
  roseland_network:

我的Dockerfile.dev:

FROM golang:1.13.0-alpine3.10

ENV CGO_ENABLED=0

RUN apk add --no-cache curl git unzip postgresql-client python py-pip
RUN pip install awscli
RUN go get github.com/lucaslsl/fresh
RUN go get -u github.com/gobuffalo/packr/packr
RUN go get -u -t github.com/volatiletech/sqlboiler
RUN go get github.com/volatiletech/sqlboiler/drivers/sqlboiler-psql
RUN go get github.com/volatiletech/sqlboiler/drivers/sqlboiler-MysqL
RUN mkdir -p /var/lib/roseland/data/

EXPOSE 8080

CMD go build -v && fresh -c fresh.conf


我的Dockerfile是否缺少任何其他cmd?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)