・docker-compose.yml (version2)とDockerfile(golang)とDockerfile(mysql)で環境を構築しています.
・イメージ軽量化のためにDockerfile(golang)をマルチステージビルドで書き直したのですが,mySQLへの接続ができなくなりました.
・変更する前は,ちゃんと接続できていたのでdocker-compose.ymlのポート設定などは適切だと思います.
DockerfileBefore
1FROM golang:1.12.12-alpine3.9 AS build 2 3ENV GOPATH $GOPATH:/go 4ENV PATH $PATH:$GOPATH/bin 5 6RUN apk update && \ 7 apk add --no-cache git && \ 8 go get "github.com/go-sql-driver/mysql" && \ 9 go get "github.com/beego/bee" && \ 10 go get "github.com/astaxie/beego" && \ 11 go get "github.com/astaxie/beego/session" && \ 12 go get "golang.org/x/crypto/bcrypt" && \ 13 go get "github.com/PuerkitoBio/goquery" && \ 14 go get "github.com/microcosm-cc/bluemonday" 15 16ADD . /go/src/app 17WORKDIR /go/src/app
DockerfileAfter
1FROM golang:1.12.12-alpine3.9 AS build 2 3ENV GOPATH $GOPATH:/go 4ENV PATH $PATH:$GOPATH/bin 5 6RUN apk update && \ 7 apk add --no-cache git && \ 8 go get "github.com/go-sql-driver/mysql" && \ 9 go get "github.com/beego/bee" && \ 10 go get "github.com/astaxie/beego" && \ 11 go get "github.com/astaxie/beego/session" && \ 12 go get "golang.org/x/crypto/bcrypt" && \ 13 go get "github.com/PuerkitoBio/goquery" && \ 14 go get "github.com/microcosm-cc/bluemonday" 15 16ADD . /go/src/app 17WORKDIR /go/src/app 18 19RUN go build -o app main.go 20 21FROM alpine:3.9 22COPY --from=build /go/src/app/ .
・怪しそうなところは,・docker-composeのバージョン,Dockerfileの間違い,beegoの仕様です.
実行 /app or bee run エラーの出る行(main.go) orm.RegisterDataBase("default", beego.AppConfig.String("driver"), beego.AppConfig.String("sqlconn")+"?charset=utf8mb4&loc=Asia%2FTokyo") エラー [ORM]2019/10/31 09:28:00 register db `default`, unknown time zone Asia/Tokyo must have one register DataBase alias named `default`
追記
loc=Asia%2FTokyoを削除すると動作するのですが,タイムゾーンがUTCでDB保存されます.
なんとかなりますでしょうか?
よろしくお願いいたします.
回答1件
あなたの回答
tips
プレビュー