【ページ更新日:2020年10月13日】
DockerfileからDocker imageを作る方法を紹介します。
この記事で紹介しているコマンドの内容は、次のとおりです。
- Dockerfileからimageを作成する
- image名を指定して作成する
Dockerfileとは
Dockerfileとは
Dockerfileは、Docker imageの設計書です。
Dockerfileをみることで、Docker imageを詳しく知ることができます。
Docker imageを作る2つの方法
Docker imageを作る方法は、つぎの2通りです。
- Dockerfileから作成する
- コンテナから作成する
現場では、ほとんどの場合Dockerfileから作成します。
なぜなら、Docker imageの詳細を知ることができるからです。
簡単なDockerfileを作る
それでは、簡単なDockerfileを作成してみましょう。
作業フォルダを作成する
Dockerfileを入れるフォルダを作成します。
今回は、デスクトップ上に「workspace」という名前のフォルダを作成し、そのフォルダの中にDockerfileを作成していきます。
まず、cdコマンドでデスクトップに移動します。
$ cd ~/Desktop
次に、mkdirコマンドでデスクトップ上に「workspace」というフォルダを作成します。
$ mkdir workspace
それでは、cdコマンドで作成したフォルダ「workspace」に移動します。
$ cd workspace
Dockerfileを作成する
作業フォルダ(workspace)にディレクトリを移動したら、Dockerfileを作成していきます。
お好きなテキストエディタで、中身を記述していきます。
今回、作成するDockerfileの中身は次のようにします。
FROM ubuntu:latest RUN touch test
この、Dockerfileの内容は
『DockerHub上の「ubuntu:latest」というimageを素に、ファイル「test」を作成したDocker image』
を作成するものです。
Dockerfileからimageを作成する
それでは、Dockerfileからimageを作成するコマンドを紹介します。
Dockerfileからimageを作成する
Dockerfileがあるフォルダ(workspace)に移動した状態で、次のコマンドをターミナル上で実行してください。
$ docker build <directory名>
コマンド内の <directory名> には、使用したいDockerfileがあるディレクトリ名(=フォルダ名)を入れてください。
今回は、「workspace」フォルダにDockerfileがあるので、コマンドは次のようになります。
「 . 」は、カレントディレクトリ(=「このフォルダ!」)という意味です。
$ docker build .
Docker imageを作成すると <none> という名前でimageが作成されます。
次のコマンドで、imageを一覧表示し、作成したimageを確認してみてください。
$ docker images
この名前のままだと使いづらいので、名前を指名してimageを作成します。
※ 次のようにしないように注意してください。
$ docker build workspace
ダメな理由は、workspaceに移動した状態でこのコマンドを実行しても
『「workspace」というフォルダ(ディレクトリ)がないよ!』
となってしまうためです。
名前を指定してimageを作成する
Dockerfileがあるフォルダ(workspace)に移動した状態で、次のコマンドをターミナル上で実行してください。
$ docker build -t <name> <directory>
コマンド内の <name> には、指定したいimage名を入れます。
コマンド内の <directory名> には、使用したいDockerfileがあるディレクトリ名(=フォルダ名)を入れてください。
今回は、「workspace」フォルダにDockerfileがあるので、コマンドは次のようになります。
「 . 」は、カレントディレクトリ(=「このフォルダ!」)という意味です。
$ docker build -t <name> <directory名> .
次のコマンドで、imageを一覧表示し、作成したimageを確認してみてください。
$ docker images