LoginSignup
8
8

More than 5 years have passed since last update.

Dockerでイメージにファイルを追加する

Posted at

docker build

これが一番正当な方法。Dockerfileを用意して、

ADD <src> <dest>

と書いてdocker buildすれば追加される。

ベースイメージを作るのはこれで問題ないけど、ベースイメージから派生してちょっとだけ違うイメージつくりたい場合とかにいちいちDockerfile用意するの面倒なので他に方法がないか調べてみた。

docker run + 標準入力

docker runで標準入力経由で追加する方法がある。

$ cat file | docker run -i IMAGE /bin/bash -c "cat - > /path"

ディレクトリの場合はtarで固めて渡せばよさげ。

$ tar c dir | docker run -i IMAGE /bin/bash -c "tar -xC /"

dokkuとかでやってた。

docker insert

docker insertというコマンドがあって

$ docker insert IMAGE URL PATH

という感じでhttp経由でイメージにファイルを追加できるんだけど、この機能は0.10.0でDeprecatedになってる。

Deprecate 'docker insert' by shykes · Pull Request #5005 · dotcloud/docker

docker buildADD使えとのこと。

ちなみにこのdocker insertにローカルのファイルを追加できるようにするという議論や実装もあったみたいだけど、docker insert自体がなくなったために闇に葬り去られたようである。

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