Docker 技術ログ

DockerfileからDocker imageを作る

2020年10月13日

【ページ更新日: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
  • この記事を書いた人
  • 最新記事

Maita Tomoya / yone

2020.4~Webアプリケーションエンジニアとして都内の企業で働き、空いている時間でブログを運営している29歳男です。本ブログは情報の整理をするため、文章を書く機会を作るために始めました。1記事でも多く「誰かのためになる記事」を書けるように頑張ります!転職前は地方の高校で働いていました。教育関係の記事も定期的に書いていきたいと思います。

-Docker, 技術ログ