LoginSignup
5
0

More than 3 years have passed since last update.

Dockerfileではまったことや最近したことまとめ

Posted at

docker buildをしていてうまく動かないことや新たにもった知見などがあったのでまとめる。

ARG

外部から値を注入できる

下記Dockerdileから一部抜粋

ARG copy_path

# 使うとき
COPY ${copy_path} /path/to/use

buildするとき

docker build ./ --build-arg copy_path=./script

ADD

COPYとの違いとして、解凍、展開をしてくれると記載されていることが多いが、zipファイルは解凍されないので注意。
解凍、展開はtar、gzの場合に行われる。

docker build時の注意点

context

一番ハマったやつ

sample
 |- docker
 |  |- web
 |      |- Dockerfile
 |
 |- config
     |- web
        |- nginx.conf

上記のようなディレクトリ構造でプロジェクトルートにてdokcer buildを行う際、

docker build -f docker/web/Dockerfile docker/web とすると nginx.conf を参照(ADDやCOPY)することはできなくなる。

これは docker/web と指定している部分(context)で参照スコープを絞っているため、 docker/web よりも上位階層から枝分かれしたディレクトリを見れなくなってしまうからということらしい。

言われてみるとなるほど!となるんだけど別リポジトリのDockerfileやMakefileをコピってきてちょちょで使おうとするとハマりやすそうなところだったのでまとめてみました。

以上

5
0
0

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
5
0