なにがしたかった?
軽量なコンテナイメージである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をベースイメージとして利用する場合は気をつけようと思いました.