2015-09-21 1 views
1

Я следил за несколькими учебниками, и мне трудно понять, что я сделал неправильно. Я подозреваю, что это очень простой принцип, но я сказал, что я новичок в GoLang и docker-compose. Я не уверен на 100%, что является моей проблемой.Docker-Compose golang - Нет встроенного источника

Я запускаю golang: build docker image, который просто извлекает пару репозиториев github.

Любая помощь будет высоко оценена.

Ошибка заключается в следующем:

+ exec go get -v -d 
can't load package: package app: no buildable Go source files in /go/src/app 
Service 'ddd' failed to build: The command '/bin/sh -c go-wrapper download' returned a non-zero code: 1 

докер-Compose файл выглядит следующим образом

ddd: 
    build: ./goSvc 
    working_dir: /go/src/ 
    command: go run main.go 
    volumes: 
    - ./goSvc/src/main.go:/go/src/main.go 
    - ./goSvc/src/ddd:/go/src/ddd 
    ports: 
    - 8080:8080 
    environment: 
    - DB_NAME=rnse 
    - DEBUG=true 

Go Структура проекта

root 
    goSvc 
    pkg 
    src 
     ddd 
     internal 
      logic 
     ...myGoFiles 
     github.com 
     main.go 
    Dockerfile 

Edit: Включая файл Docker для golang :

FROM golang:onbuild 
RUN go get github.com/gorilla/mux 
RUN go get github.com/lib/pq 
EXPOSE 8080 
+1

Что находится в '/ go/src'? Кажется, есть некоторая путаница между '/ goSvc' и'/go' в вашем вопросе. Как правило, существует одно место, где установлен Go (скажем/usr/local/go), а затем ваше рабочее пространство Go http://golang.org/doc/code.html, на которое должна указываться переменная среды GOPATH. Неясно, что в вашем вопросе. Может, сначала начать без Докера? –

+2

Для меня это выглядело как проблема при построении изображения докеров. Можете ли вы включить его также (Dockerfile)? И попробуйте создать изображение с помощью команды docker слишком – Fuxi

+0

@GuySirton goSvc - это только папка, в которой я храню локальный источник golang, прежде чем она будет распространена в контейнер докеров. root (pwd) =/home/highstead/projects/goSvc – Highstead

ответ

2

Используемое изображение используется для автоматического создания приложения Go при создании исходного изображения.

Посмотрите на это Dockerfile. Существует заявление ONBUILD COPY . /go/src/app.

Таким образом, вы можете найти Dockerfile где main.go находятся или использовать изображения без ONBUILD триггера, а затем запустить go run вручную/с docker-compose.