質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

2967閲覧

Dockerfileをmulti stage buildに変更したらgolangからmySQLに接続できなくなりました.

shoot16625

総合スコア17

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2019/10/30 11:05

編集2019/10/31 00:57

・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保存されます.
なんとかなりますでしょうか?
よろしくお願いいたします.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Orlofsky

2019/10/30 11:30

編集中の内容を埋めないと誰にも判らないのでは?
guest

回答1

0

ベストアンサー

最終イメージにtimezoneのデータベースがインストールされていないのが原因と思われるので、
apk add tzdata すればいいです。

Dockerfile

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 22RUN apk add --no-cache tzdata 23COPY --from=build /go/src/app/ .

投稿2019/11/01 00:25

bsdfan

総合スコア4574

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shoot16625

2019/11/01 01:37

動きました!! ありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問