なにがしたかった?
軽量なコンテナイメージであるalpineコンテナ内のGoアプリケーションから,Google Cloud Storage(以下GCS)にアクセスしたかった.
なにが起きたか
ローカルでGoアプリケーションを実行した場合はGCSにファイルを作成できた.しかし,ビルドしたGoアプリケーションをalpine:3.8イメージの中で実行した際,GCS上にファイルが作成されなかった.
原因
alpineのイメージには,ca-certificatesパッケージがインストールされていないため,SSL接続ができなかった.
解決策
Dockerfileに以下の変更を加えた.
FROM alpine:latest
RUN apk add --no-cache --update ca-certificates # この行を追加
~~実行ファイルのコピーや,環境変数の設定など~~
感想
Goアプリケーションは特にエラーを吐き出さなかったので,原因を突き止めるのに時間がかかってしまいました.alpineをベースイメージとして利用する場合は気をつけようと思いました.