Docker の紹介
Tim Sangster
Software Engineer @ DataCamp
Dockerfile で変数を作成する
ARG <var_name>=<var_value>
たとえば ARG path=/home/repl
Dockerfileで使用するために
$path
たとえば COPY /local/path $path
Python バージョンの設定
FROM ubuntu
ARG python_version=3.9.7-1+bionic1
RUN apt-get install python3=$python_version
RUN apt-get install python3-dev=$python_version
フォルダの設定
FROM ubuntu
ARG project_folder=/projects/pipeline_v3
COPY /local/project/files $project_folder
COPY /local/project/test_files $project_folder/tests
FROM ubuntu
ARG project_folder=/projects/pipeline_v3
COPY /local/project/files $project_folder
COPY /local/project/test_files $project_folder/tests
ビルドコマンドでの変数の設定
docker build --build-arg project_folder=/repl/pipeline .
ARGが上書きされ、ファイルの保存先は次のとおりです:
COPY /local/project/files /repl/pipeline
COPY /local/project/test_files /repl/pipeline/tests
Dockerfile で変数を作成する
ENV <var_name>=<var_value>
たとえば ENV DB_USER=pipeline_user
Dockerfile または実行時に使用する場合
$DB_USER
たとえば CMD psql -U $DB_USER
ランタイムで使用するディレクトリの設定
ENV DATA_DIR=/usr/local/var/postgres
ENV MODE production
実行時に変数を設定または置換すること
docker run --env <key>=<value> <image-name>
docker run --env POSTGRES_USER=test_db --env POSTGRES_PASSWORD=test_db postgres
docker history <image-name>
ARG DB_PASSWORD=example_password
docker history内に表示されます:
IMAGE CREATED CREATED BY SIZE ...
cd338027297f 2 months ago ARG DB_PASSWORD=example_password 0B ...
| 使用法 | Dockerfile 命令 |
|---|---|
| ビルド中のみアクセス可能な変数を作成する | ARG <name>=<value> |
| 変数を作成する | ENV <name>=<value> |
| 使用方法 | シェルコマンド |
|---|---|
| docker build で ARG をオーバーライドする | docker build --build-arg <name>=<value> |
| docker runでENVを上書きする | docker run --env = <name>=<value> <image-name> |
| 画像を作成するために使用された手順を参照 | docker history <image-name> |
Docker の紹介