2015-04-21 11 views
10

Próbuję utworzyć doker z pakietem lokalnym, ale otrzymuję komunikat o błędzie "ścieżka importu nie zaczyna się od nazwy hosta". Jeśli moje rozumienie jest poprawne, moja Dockerfile powinny być tylkoBłąd "ścieżka importu nie zaczyna się od nazwy hosta" podczas budowania okna dokowanego z pakietem lokalnym

FROM golang:onbuild 
EXPOSE 8080 

na podstawie tego artykułu Deploying Go servers with Docker

używam tego kodu git-go-websiteskeleton jako źródło budowania dokowane. pełny błąd jest tutaj.

 
import "git-go-websiteskeleton/app/common": import path does not begin with hostname 
package git-go-websiteskeleton/app/common: unrecognized import path "git-go-websiteskeleton/app/common" 
import "git-go-websiteskeleton/app/home": import path does not begin with hostname 
package git-go-websiteskeleton/app/home: unrecognized import path "git-go-websiteskeleton/app/home" 
import "git-go-websiteskeleton/app/user": import path does not begin with hostname 
package git-go-websiteskeleton/app/user: unrecognized import path "git-go-websiteskeleton/app/user" 

Dziękuję za pomoc.

+0

Czy wykonałeś instrukcje w pliku README? 'git-go-websiteskeleton' nie znajduje się w GOPATH. – JimB

+0

@ JimB, jeśli masz na myśli moją maszynę, mogę uruchomić projekt dobrze. Wystąpił problem tylko podczas próby zbudowania okna dokowanego. – panchapol

+0

Więc w jaki sposób dodajesz obraz do git-go-websiteskeleton? Pokaż nam wszystko, co robisz, więc nie muszę zgadywać. – JimB

Odpowiedz

1

Aplikacja jest wbudowana w kontener dokowania i musisz mieć dostępne zależności podczas budowania.

golang:onbuild daje kompaktowe pliki Docker dla prostych spraw, ale nie pobiera twoich zależności.

Możesz napisać własny plik Docker, wykonując czynności niezbędne do zbudowania aplikacji. W zależności od tego, jak projekt wygląda można użyć coś takiego:

FROM golang:1.6 
ADD . /go/src/yourapplication 
RUN go get github.com/jadekler/git-go-websiteskeleton 
RUN go install yourapplication 
ENTRYPOINT /go/bin/yourapplication 
EXPOSE 8080 

to dodaje swoje źródło i swój zależność do pojemnika, buduje swoją aplikację, uruchamia ją i naraża je na porcie 8080.

0

Try :

FROM golang:latest 
RUN mkdir /go/src/app 
WORKDIR /go/src/app 
ADD ./HelloWorld.go ./ 
RUN go get 
RUN go build -o main . 
CMD ["/go/src/app/main"] 
Powiązane problemy