Как докерзизировать приложение bee go - PullRequest
0 голосов
/ 25 апреля 2020

Я пытался Dockerize Bee go, но при рендеринге HTML не найдено HTML файлов, хранящихся в каталоге view/templates.

FROM golang:1.13
WORKDIR /go/src/fileUpload
COPY . . 
RUN go get -d -v ./...
RUN go install -v ./...

EXPOSE 8080
# Install server application
CMD ["go", "run", "./main/main.go"]

1 Ответ

0 голосов
/ 25 апреля 2020

Вы можете попытаться установить каталог, содержащий шаблоны внутри изображения Docker.

beego.BConfig.WebConfig.ViewsPath = "myviewpath"

https://beego.me/docs/mvc/view/view.md#template -каталог

Редактировать : структура каталогов

Сложно ответить на вопрос, так как структура каталогов не ясна. Тем не менее, я могу привести пример на основе quickstart :

export GOPATH="$HOME/go/src"
bee new quickstart

In $GOPATH/src/quickstart/Dockerfile:

FROM golang:1.13
WORKDIR /go/src/quickstart
COPY . . 
RUN go get -d -v ./...
RUN go install -v ./...

EXPOSE 8080
# Install server application
CMD ["go", "run", "main.go"]

Обратите внимание, что у меня нет каталога (./main) перед main.go. Вот как выглядит структура приложения:

tim@sky:~/go/src/quickstart$ tree
.
├── conf
│   └── app.conf
├── controllers
│   └── default.go
├── Dockerfile
├── main.go
├── models
├── routers
│   └── router.go
├── static
│   ├── css
│   ├── img
│   └── js
│       └── reload.min.js
├── tests
│   └── default_test.go
└── views
    └── index.tpl

Если каталог views в вашем приложении находится в другом месте, вам нужно добавить правильный путь к main.go, как описано в моем первоначальный ответ.

...