はじめに
前回の記事では、Windows、Mac、Linuxの各種OSにDockerをインストールする方法を学びました。今回は、Dockerを使い始めるために欠かせない基本コマンド10選を詳しく解説します。
初めてDockerを使う方でも理解できるよう、各コマンドの使い方や具体的な使用例、オプションの解説などを丁寧に説明していきます。この記事を読めば、Dockerの基本的な操作はすべてマスターできるでしょう。
Dockerコマンドの基本構造
まず、Dockerコマンドの基本的な構造を理解しましょう。Dockerコマンドは基本的に以下の形式で記述します:
docker [コマンド] [オプション] [対象]
例えば、docker run -p 8080:80 nginx
というコマンドは:
docker
: Docker CLIを呼び出すrun
: コンテナを作成・実行するコマンド-p 8080:80
: ポートマッピングのオプションnginx
: 実行するイメージ名
それでは、主要な10個のコマンドを見ていきましょう。
1. イメージのダウンロード: docker pull
docker pull
コマンドは、Docker Hubなどのレジストリからイメージをダウンロードします。
基本的な使い方
docker pull [オプション] イメージ名[:タグ]
具体例
# 最新のUbuntuイメージをダウンロード
docker pull ubuntu
# 特定バージョンのUbuntuイメージをダウンロード
docker pull ubuntu:20.04
# PostgreSQLの特定バージョンをダウンロード
docker pull postgres:13-alpine
主なオプション
--all-tags
,-a
: 指定したイメージのすべてのタグをダウンロード--platform
: 特定のプラットフォーム(例:linux/amd64, linux/arm64)を指定
イメージのタグについて
イメージ名の後に:タグ名
を付けることで、特定のバージョンを指定できます。タグを省略すると、デフォルトでlatest
タグが使用されます。
主なタグの例:
ubuntu:20.04
– Ubuntu 20.04node:14
– Node.js バージョン14mysql:8.0
– MySQL バージョン8.0alpine
– 軽量のLinuxディストリビューション(多くのイメージで利用可能)
2. イメージの一覧表示: docker images
docker images
コマンドは、ローカルに保存されているDockerイメージの一覧を表示します。
基本的な使い方
docker images [オプション] [リポジトリ[:タグ]]
具体例
# すべてのイメージを表示
docker images
# ubuntuイメージのみ表示
docker images ubuntu
# サイズの大きい順に表示(フォーマットと並べ替えを使用)
docker images --format "{{.Size}}\t{{.Repository}}:{{.Tag}}" | sort -r
主なオプション
--all
,-a
: 中間イメージも含めてすべて表示--digests
: Digestも表示(イメージの一意な識別子)--format
: 出力形式をカスタマイズ--no-trunc
: 完全なイメージIDを表示(省略せず)
出力の見方
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 825d55fb6340 2 weeks ago 72.8MB
nginx latest 605c77e624dd 3 weeks ago 141MB
mysql 8.0 a3b6608898d6 4 weeks ago 546MB
REPOSITORY
: イメージのリポジトリ名TAG
: イメージのタグIMAGE ID
: イメージのID(短縮形)CREATED
: イメージの作成日時SIZE
: イメージのサイズ
3. コンテナの作成と起動: docker run
docker run
コマンドはイメージからコンテナを作成し、起動します。Dockerの中でも最も多機能なコマンドで、様々なオプションがあります。
基本的な使い方
docker run [オプション] イメージ名[:タグ] [コマンド] [引数...]
具体例
# Nginxを起動し、ホストの8080ポートをコンテナの80ポートにマッピング
docker run -d -p 8080:80 nginx
# 対話型シェルでUbuntuを起動
docker run -it ubuntu bash
# コンテナに名前を付けて起動
docker run --name my-nginx -d nginx
# ボリュームをマウントして起動
docker run -v /host/path:/container/path nginx
# 環境変数を設定して起動
docker run -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:8.0
主なオプション
-d, --detach
: バックグラウンドで実行-i, --interactive
: STDINを開いたままにする-t, --tty
: 擬似TTYを割り当てる(通常は-it
で使用)-p, --publish
: ポートマ
コメント