0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Windows環境でDockerのHelloWorldを実行する

Posted at

Windows環境でDockerのコンテナを作成して、シェルから「Hello, World!」と出力させるまでの手順です。
環境は以下となります。

  • OS: Windows11

Dockerのダウンロード・インストール

Docker Desktopのインストーラをダウンロードして、インストールします。

2024年4月現在、「Mac用のダウンロード ウィンドウズ」と少し日本語がおかしいですが、このボタンを押すことでWindows用のインストーラがダウンロードできます。

作業用ディレクトリの作成

任意の場所に作業用ディレクトリを作成します。
今回は例として以下の通りディレクトリを作成します。

C:\dev\dockertest\myimage

Dockerfileの作成

作業用ディレクトリの配下にDockerfileという名前のファイルを作成します。
ファイルの内容は以下の通りです。

C:\dev\dockertest\myimage\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で作成するとコンテナの実行時に想定通り動きません。

C:\dev\dockertest\myimage\hello.sh
#!/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のImagesmyimageが作成されていれば成功です。

Dockerコンテナの実行

Powershellで以下のコマンドを実行し、Dockerコンテナを実行します。

docker run --name mycontainer myimage:v1

--name mycontainerでコンテナ名を指定しています。
myimage:v1で先ほど作成したイメージを指定しています。

標準出力に以下の通り出力されます。
また、今回はシェルの中でechoしか実行していないため、そのままコンテナは実行終了します。

Hello, World!

Dockerコンテナの削除

Powershellで以下のコマンドを実行し、Dockerコンテナを削除します。

docker rm mycontainer

以上です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?