22
20

More than 5 years have passed since last update.

Dockerでクレデンシャル情報を渡す方法

Posted at

既存のアプリケーションをコンテナ化する際、GitHubからプログラムをクローンするケースがある。このとき、Dockerfileにアカウント名、クレデンシャル/Tokenを記載してしまうとセキュリティ的に問題がある。
これを回避するために、DockerEngine1.9から実装されたbuild-time argumentsの機能を用いる。build-time argumentsを利用することにより、Dockerfileのビルド時にパラメータを設定することができる。

Dockerfile

・・・
# Deploy application
ARG GITHUB_ACCOUNT
ARG GITHUB_CREDENTIAL
RUN git clone -b develop https://$GITHUB_ACCOUNT:$GITHUB_CREDENTIAL@github.com/XXXX/YYYY/ZZZ.git
・・・

以下のコマンドを実行し、コンテナイメージのビルドを行う。

sudo docker build --build-arg GITHUB_ACCOUNT={GitHub Account} --build-arg GITHUB_CREDENTIAL={GitHub Credential/Token} -t gcr.io/{GCP PJ Name}/{Application}:{version} {Dockerfileが含まれるフォルダ}

これでDockerfileにクレデンシャル情報を記載せずに、build時にGitHubからソースをcloneしてアプリを利用することができる。

よりセキュアな方法があるかは引き続き調査を行う。

22
20
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
20