はじめに
Dockerfile Dockerイメージを構築する方法を説明したスクリプトです。これらの命令は、実際には、特定のDockerイメージを構築するためにDocker環境で自動的に実行されるコマンドのグループです。
このチュートリアルでは、Dockerfileを使用してDockerイメージを作成する方法を学びます。
前提条件
- Linuxシステム
- コマンドライン/ターミナルウィンドウへのアクセス
- rootまたはsudoを使用したユーザーアカウントへのアクセス 特権
- Dockerのインストールと構成
Dockerをインストールする
Dockerfileを使用してイメージを作成する方法に興味がある場合は、おそらくすでにDockerがシステムにインストールされています。
万が一、そうでない場合は、UbuntuへのDockerのインストール、CentOS 7 /RHEL7またはCentOS8へのDockerのインストールに関するインストールガイドの1つを参照してください。
Dockerfileを作成する方法
最初に行う必要があるのは、作成したすべてのDockerイメージを保存できるディレクトリを作成することです。
1.例として、 MyDockerImagesという名前のディレクトリを作成します コマンドを使用して:
mkdir MyDockerImages
2.そのディレクトリに移動し、次のように入力して、そのディレクトリに新しい空のファイル(Dockerfile)を作成します。
cd MyDockerImages
touch Dockerfile
3.選択したテキストエディタでファイルを開きます。この例では、Nanoを使用してファイルを開きました:
nano Dockerfile
4.次に、次のコンテンツを追加します。
FROM ubuntu
MAINTAINER sofija
RUN apt-get update
CMD ["echo", "Hello World"]
- FROM –作成する画像のベースを定義します。 親画像から始めることができます (上記の例のように)またはベースイメージ 。親画像を使用する場合は、新しい画像のベースとなる既存の画像を使用しています。ベースイメージを使用するということは、最初から始めることを意味します(これは、まさにそれを定義する方法です:最初から)。
- メンテナ –画像の作成者を指定します。ここで、名前や名前を入力できます(またはメールアドレスを追加することもできます)。 LABELを使用することもできます 画像にメタデータを追加する手順。
- 実行 –その上のレイヤーにイメージを構築しながらコマンドを実行するための指示。この例では、Dockerイメージの構築を開始すると、システムはリポジトリの更新を検索します。 Dockerfileには複数のRUN命令を含めることができます。
- CMD –Dockerfile内に存在できるCMD命令は1つだけです。その目的は、実行中のコンテナにデフォルトを提供することです。これを使用して、デフォルトのコマンドを設定します。コマンドを指定せずにコンテナを実行すると、システムが実行します。
5.ファイルを保存して終了します。
6. cat
を使用して、ファイルの内容を確認できます。 コマンド:
cat Dockerfile
Dockerfileを使用してDockerイメージを構築する
Dockerfileを使用してイメージを構築するために使用される基本的な構文は次のとおりです。
docker build [OPTIONS] PATH | URL | -
したがって、Dockerイメージを作成するには、次を使用します。
docker build [location of your dockerfile]
Dockerfileが配置されているディレクトリに既にいる場合は、.
を配置します。 場所の代わりに:
docker build .
-t
を追加する フラグを立てると、新しい画像に名前を付けることができます。これは、複数の画像を処理するときに役立ちます。
docker build -t my_first_image .
イメージが正常にビルドされたら、次のコマンドを使用して、ローカルイメージのリストに含まれているかどうかを確認できます。
docker images
出力にはmy_first_imageが表示されます リポジトリで利用可能です。
新しいコンテナを作成する
前の手順で作成したイメージに基づいて、新しいDockerコンテナを起動します。コンテナに「テスト」という名前を付けます 次のコマンドで作成します:
docker run --name test my_first_image
Hello World 上の画像に示すように、メッセージがコマンドラインに表示されます。