LoginSignup
1
1

More than 5 years have passed since last update.

docker build で tar.gz 指定するときに Dockerfile が見つからないときの対処

Posted at

概要

tar.gz で圧縮したファイルを使って docker イメージを作ろうとしたところ、以下のようなエラーが出てしまった。

$ docker build - < hoge.tar.gz
Sending build context to Docker daemon XXX MB
Error response from daemon: Cannot locate specified Dockerfile: Dockerfile

原因

hoge.tar.gz のルート直下に Dockerfile が見つからずに怒られている。
tar.gz の作り方が悪かった様子

$ tar zcvf hoge.tar.gz hoge

これだと tar.gz ファイルのルート直下に hoge というディレクトリができてしまう

$ tar tf hoge.tar.gz
hoge/
hoge/Dockerfile
hoge/...

解決

tar.gz コマンドの叩き方を変更

$ cd hoge
$ tar zcvf hoge.tar.gz .
$ tar tf hoge.tar.gz
./
./Dockerfile
./...

これで tar.gz のルート直下に Dockerfile が置かれるので、正常に実行できるようになった

$ docker build - < hoge/hoge.tar.gz

所感

docker build - < のググラビリティが低くてちょっと大変だった…

1
1
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
1
1