import

Usage: docker import file|URL|- [REPOSITORY[:TAG]]

Create an empty filesystem image and import the contents of the
tarball (.tar, .tar.gz, .tgz, .bzip, .tar.xz, .txz) into it, then
optionally tag it.

  -c, --change=[]     Apply specified Dockerfile instructions while importing the image
  --help              Print usage
  -m, --message=      Set commit message for imported image

URL- (ダッシュ)を指定し、 STDIN (標準入力)から直接データを取り込みます。 URL はアーカイブ( .tar、.tar.gz、.tgz、.bzip、.tar.xz、txz)に含まれる圧縮ファイルシステムや、Docker ホスト上の個々のファイルを指定します。アーカイブを指定すると、 Docker はコンテナの / (ルート)以下の相対パスとして展開します。個々のファイルを指定する場合、ホスト上のフルパスを指定する必要があります。リモートの場所から import する場合、 URI の形式は、 http://https:// プロトコルで始まる必要があります。

--change オプションは Dockerfile 命令でイメージを作成時に適用されます。サポートされている Dockerfile の命令は CMD ENTRYPOINT ENV EXPOSE ONBUID USER VOLUME WORKDIR です。

リモートから取り込む:

新しいタグ付けされていないイメージを作成します。

$ docker import http://example.com/exampleimage.tgz

ローカル・ファイルを取り込む:

STDIN のパイプ経由で Docker に取り込みます。

$ cat exampleimage.tgz | docker import - exampleimagelocal:new

コミット・メッセージを付けて取り込みます。

$ cat exampleimage.tgz | docker import --message "New image imported from tarball" - exampleimagelocal:new

ローカルのアーカイブから取り込みます。

$ docker import /path/to/exampleimage.tgz

ローカルのディレクトリを取り込む:

$ sudo tar -c . | docker import - exampleimagedir

新しい設定でローカルのディレクトリを取り込む:

$ sudo tar -c . | docker import --change "ENV DEBUG true" - exampleimagedir

この例では sudo を使っているのに気をつけてください。これは、tar アーカイブを処理する時にファイル(特に root )の所有権を保持するためです。root でなければ(あるいは sudo を使わなければ)、tar の利用時に権限を得られない可能性があります。