Tech Knowledge

IT技術者の知識共有を目的とした記事を書いています

Dockerのインストール方法と基本的なコマンド

Dockerの導入

Dockerは、コンテナ型の仮想化技術を提供するオープンソースのソフトウェアです。Dockerを使うと、アプリケーションの開発やデプロイメントを簡単に行うことができます。この記事では、Dockerのインストール方法や基本的なコマンドについて紹介します。

Dockerのインストール方法

Dockerは、WindowsMacLinuxなどの主要なOSに対応しています。インストール方法はOSによって異なりますが、基本的には公式サイトからダウンロードして実行するだけです。以下に各OSごとのインストール方法を示します。

Windows

Windows 10 Pro以上の場合は、Docker Desktop for Windowsをダウンロードしてインストールします。Windows 10 Home以下の場合は、Docker Toolboxをダウンロードしてインストールします。いずれの場合も、インストーラーが自動的に必要なコンポーネントをセットアップしてくれます。

現在主流であるDocker Desktop for Windowsは以下のリンクから入手ダウンロードできます。
Install Docker Desktop on Windows | Docker Docs

なお、WSL(Windows Subsystem for Linux)を使用する場合もDocker Desktop for Windowsがおすすめです。ホスト側のWindowsにインストールすれば、WSL上からでもdockerを実行できます。

Mac

Mac OS X 10.13以上の場合は、Docker Desktop for Macをダウンロードしてインストールします。Mac OS X 10.12以下の場合は、Docker Toolboxをダウンロードしてインストールします。いずれの場合も、インストーラーが自動的に必要なコンポーネントをセットアップしてくれます。

現在主流であるDocker Desktop for Macは以下のリンクから入手ダウンロードできます。
Install Docker Desktop on Mac | Docker Docs

Linux

Linuxの場合は、公式サイトから適切なパッケージをダウンロードしてインストールします。または、パッケージマネージャーを使ってインストールすることもできます。
Install Docker Engine | Docker Docs

例えば、Ubuntuの場合は以下のコマンドでインストールできます。

# Add Docker's official GPG key:
$ sudo apt-get update
$ sudo apt-get install ca-certificates curl gnupg
$ sudo install -m 0755 -d /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
$ echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt-get update

$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

インストールが完了したら、以下のコマンドでバージョンを確認してみましょう。

$ docker --version
Docker version 24.0.6, build ed223bc

Hello World

インストールをしたらさっそくコンテナを実行してみましょう。

$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Download complete
Digest: sha256:ac69084025c660510933cca701f615283cdbb3aa0963188770b54c31c8962493
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Dockerの基本的なコマンド

Dockerでは、コマンドラインから様々な操作を行うことができます。ここでは、よく使われる基本的なコマンドについて紹介します。

docker run

docker runコマンドは、指定したイメージからコンテナを作成して実行するコマンドです。例えば、以下のコマンドは、ubuntuイメージからコンテナを作成してbashシェルを起動します。

$ docker run -it ubuntu bash
docker container ls

docker container lsコマンドは、現在実行中のコンテナの一覧を表示するコマンドです。-aオプションを付けると、停止中のコンテナも表示されます。例えば、以下のコマンドは、すべてのコンテナのIDと名前を表示します。また、もともとはdocker psというコマンドで、今でもcontainer lspsに置き換えれば動作します。

$ docker container ls -a --format "{{.ID}} {{.Names}}"
docker stop

docker stopコマンドは、指定したコンテナを停止するコマンドです。停止したコンテナは再開することができます。例えば、以下のコマンドは、名前がmycontainerのコンテナを停止します。

$ docker stop mycontainer
docker start

docker startコマンドは、指定したコンテナを再開するコマンドです。停止したコンテナを再び実行することができます。例えば、以下のコマンドは、名前がmycontainerのコンテナを再開します。

$ docker start mycontainer
docker container rm

docker rmコマンドは、指定したコンテナを削除するコマンドです。削除したコンテナは復元することができません。-fオプションを付けると、実行中のコンテナも強制的に削除できます。例えば、以下のコマンドは、名前がmycontainerのコンテナを削除します。また、もともとはdocker rmというコマンドで、今でもcontainer rmrmに置き換えれば動作します。

$ docker rm mycontainer
docker image ls

docker image lsコマンドは、ローカルに保存されているイメージの一覧を表示するコマンドです。例えば、以下のコマンドは、すべてのイメージの名前とタグを表示します。また、もともとはdocker imagesというコマンドで、今でもimage lsimagesに置き換えれば動作します。

$ docker image ls --format "{{.Repository}} {{.Tag}}"
docker pull

docker pullコマンドは、指定したイメージをリモートからダウンロードするコマンドです。Docker Hubなどのレジストリからイメージを取得することができます。例えば、以下のコマンドは、nginxイメージをダウンロードします。

$ docker pull nginx

なお、docker run実行時にはローカルにイメージがなければ自動的にpullが実行されます。

docker image rm

docker image rmコマンドは、指定したイメージを削除するコマンドです。削除したイメージは復元することができません。-fオプションを付けると、使用中のイメージも強制的に削除できます。例えば、以下のコマンドは、nginxイメージを削除します。また、もともとはdocker rmiというコマンドで、今でもimage rmrmiに置き換えれば動作します。

$ docker image rm nginx

まとめ

この記事では、Dockerのインストール方法や基本的なコマンドについて紹介しました。Dockerは、アプリケーションの開発やデプロイメントを効率的に行うための強力なツールです。ぜひ使ってみてください。

Written with Copilot