docker-compose.yml → Dockerfile 変数渡し & 複数FROM構成での注意点
2119 ワード
docker-compose.yml → Dockerfile に変数を渡す方法
↓この記事で使ったネタです
* syslog受信 → S3保存 してくれるDockerコンテナ お手軽セット https://qiita.com/yagrush/items/2fbff71c1c2bf12f7d71
1/2 docker-compose.yml側
build
キーの子要素としてargs
キーを追加し、
その下に配列として、渡したい変数名と値を書いていきます。
services:
my-s3access-app:
build:
context: ./app
dockerfile: Dockerfile
args:
- GITHUB_ACC=hogehige
- GITHUB_ACC_PASSWORD=agd82gfo3gfagkaf
・
・
・
2/2 Dockerfile側
ARG
コマンドで宣言(キャッチ)すると、それ以降$HOGE
で利用可能になります。
FROM golang:1.13
ARG GITHUB_ACC
ARG GITHUB_ACC_PASSWORD
RUN echo -e "machine github.com\nlogin $GITHUB_ACC\npassword $GITHUB_ACC_PASSWORD" > ~/.netrc
RUN go mod download
・
・
・
Dockerfileが複数FROM構成のときの注意点
次のFROM
コマンドに処理が移るとき引き継がれないので、ARG
しなおさないといけません。
ちなみに複数FROM
が必要となるのは
[ソースコードをビルドするイメージ]
と
[ビルド結果の実行体だけを配備して実行するためのイメージ]
を分けたい時などですね。
FROM golang:1.13 as base
FROM base as builder
ARG GITHUB_ACC
ARG GITHUB_ACC_PASSWORD
RUN echo -e "machine github.com\nlogin $GITHUB_ACC\npassword $GITHUB_ACC_PASSWORD" > ~/.netrc
RUN go mod download
・
・
・
FROM base as scratch
ARG GITHUB_ACC
ARG GITHUB_ACC_PASSWORD
・
・
・
Author And Source
この問題について(docker-compose.yml → Dockerfile 変数渡し & 複数FROM構成での注意点), 我々は、より多くの情報をここで見つけました https://qiita.com/yagrush/items/ff871c012a0f5747b57c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .