Windows環境でDockerのコンテナを作成して、シェルから「Hello, World!」と出力させるまでの手順です。
環境は以下となります。
- OS: Windows11
Dockerのダウンロード・インストール
Docker Desktopのインストーラをダウンロードして、インストールします。
2024年4月現在、「Mac用のダウンロード ウィンドウズ」と少し日本語がおかしいですが、このボタンを押すことでWindows用のインストーラがダウンロードできます。
作業用ディレクトリの作成
任意の場所に作業用ディレクトリを作成します。
今回は例として以下の通りディレクトリを作成します。
C:\dev\dockertest\myimage
Dockerfileの作成
作業用ディレクトリの配下にDockerfile
という名前のファイルを作成します。
ファイルの内容は以下の通りです。
FROM ubuntu:22.04
COPY ./hello.sh /hello.sh
ENTRYPOINT ["/hello.sh"]
- FROM
Ubuntu22.04を元にしてイメージを作成します。 - COPY
次項で作成するhello.sh
をコンテナの/hello.sh
にコピーします。 - ENTRYPOINT
コンテナを起動したら/hello.sh
を実行するようにします。
hello.shの作成
作業用ディレクトリの配下にhello.sh
という名前のファイルを作成します。
ファイルの内容は以下の通りです。
改行コードはLFで作成してください。
CRLFで作成するとコンテナの実行時に想定通り動きません。
#!/bin/bash
set -eu
echo "Hello, World!"
Dockerイメージの作成
PowerShellを起動してDockerイメージを作成します。
作業用ディレクトリの1階層上に移動します。
cd C:\dev\dockertest
docker build
コマンドを実行します。
docker build -t myimage:v1 ./myimage
-t myimage:v1
でイメージ名とタグを指定しています。
./myimage
でディレクトリを指定しています。
Docker DesktopのImages
にmyimage
が作成されていれば成功です。
Dockerコンテナの実行
Powershellで以下のコマンドを実行し、Dockerコンテナを実行します。
docker run --name mycontainer myimage:v1
--name mycontainer
でコンテナ名を指定しています。
myimage:v1
で先ほど作成したイメージを指定しています。
標準出力に以下の通り出力されます。
また、今回はシェルの中でecho
しか実行していないため、そのままコンテナは実行終了します。
Hello, World!
Dockerコンテナの削除
Powershellで以下のコマンドを実行し、Dockerコンテナを削除します。
docker rm mycontainer
以上です。