このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Docker入門】とりあえずbuildしてみる

ここでは、とりあえず、Dockerfile を使って、Dockerイメージをビルドしてみます。
最初に、必要なベースイメージをDocker Hubから取得して、次に、Dockerfileを作成し、イメージのビルド手順を定義します。その後、Dockerfileを元にイメージをビルドして、作成したイメージの確認を行います。
- 作成するイメージ:ubuntu-echo
- 最新のイメージで「 echo "Hello Ubuntu"」を実行する。
イメージの取得
まず、Docker Hub からイメージを取得します。
イメージ名にタグを指定しない場合は、「:latest」が適用されるため、最新イメージを指定することになります。
・「docker image pull ubuntu」を実行します。
PS C:\Users\joeac> docker image pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
bccd10f490ab: Pull complete
Digest: sha256:77906da86b60585ce12215807090eb327e7386c8fafb5402369e421f44eff17e
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
・「 docker image ls 」コマンドを実行します。
ubuntuイメージが取得できたかを確認します。
PS C:\Users\joeac> docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest ca2b0f26964c 12 days ago 77.9MB
Dockerfileの作成
・作業ディレクトリ「desktop/docker」に移動します。
PS C:\Users\joeac> cd desktop/docker
PS C:\Users\joeac\Desktop\docker>
VSCodeでDockerfileを編集します。
・「code Dockerfile」と入力します。
PS C:\Users\joeac\Desktop\docker> code Dockerfile

VSCodeが起動します。
・以下の内容を入力して保存して終了します。
FROM ubuntu
CMD echo "Hello Ubuntu"
保存した内容を確認します。
・「cat Dockerfile」と入力します。
PS C:\Users\joeac\Desktop\docker> cat Dockerfile
FROM ubuntu
CMD echo "Hello Ubuntu"
Dockerfileの基本構造
【構文】
命令コード パラメータ
命令コードは、アルファベットの大文字で記述します。
用いた命令コードの意味は次の通りです。
- FROM・・・ベースイメージを指定します。
- CMD ・・・「docker image run」する際に実行されるコマンドです。
FROMやCMD以外にも、命令コードがあります。以下の表は、一般的なDockerfileの命令をまとめたものです。
命令 | 説明 |
---|---|
FROM | ベースとなるDockerイメージを指定します。あ |
RUN | コマンドを実行し、新しいレイヤーを追加します。パッケージをコンテナにインストールするために使用されます。あ |
CMD | コンテナが起動されたときに実行されるデフォルトのコマンドを指定します。あ |
LABEL | イメージに任意のメタデータ(ラベル)を追加します。あ |
EXPOSE | コンテナが使用するポートを外部に公開するためのメタデータを追加します。あ |
ENV | 環境変数を設定します。あ |
ADD | ファイルやディレクトリをコピーし、tarファイルを自動的に解凍します。a |
COPY | ファイルやディレクトリをコピーします。a |
ENTRYPOINT | コンテナのエントリーポイントとなるコマンドを指定します。a |
VOLUME | ホストマシンとコンテナ間でデータを共有するためのマウントポイントを指定します。 |
WORKDIR | コンテナ内の作業ディレクトリを指定します。 |
ARG | ビルド時に利用できる引数を指定します。a |
これらの命令は、Dockerfile内で使用して、Dockerイメージのビルドプロセスを定義します。
イメージの生成
Dockerfileをもとに、Dockerイメージを作成(build)する際のコマンドは以下の通りです。
docker image build [オプション] Dockerfileへのパス
例えば、以下のように指定します。「Dockerfile」というファイル名は指定しません。Dockerfileまでのパスを指定します。
docker image build -t ubuntu-echo .
「-t」はイメージ名・タグ名を指定するオプションです。
最後に「.」があるので注意してください。「.」はカレントディレクトリに、「Dockerfile」という名称のDockerfileがあるという意味です。
・「docker image build -t ubuntu-echo .」コマンドを実行します。
PS C:\Users\joeac\Desktop\docker> docker image build -t ubuntu-echo .
[+] Building 0.1s (5/5) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 73B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/library/ubuntu:latest 0.0s
=> [1/1] FROM docker.io/library/ubuntu 0.0s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:9a9568f10c243fe5494ae055466dfb32a286395bd65a78c14d860d6631c24af3 0.0s
=> => naming to docker.io/library/ubuntu-echo
・「docker image ls」コマンドを実行します。
PS C:\Users\joeac\Desktop\docker> docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest ca2b0f26964c 13 days ago 77.9MB
ubuntu-echo latest 9a9568f10c24 13 days ago 77.9MB
作成したイメージの実行
・「docker container run ubuntu-echo」コマンドを実行します。
PS C:\Users\joeac\Desktop\docker> docker container run ubuntu-echo
Hello Ubuntu
「Hello Ubuntu」と表示されます。