サイトアイコン ITC Media

【基本】Dockerのコマンドを場面別にまとめて解説

(最終更新月:2023年8月)

✔当記事は以下の疑問をお持ちの方にピッタリです

「Dockerコマンドとは何をしてくれるものなの?」

「Dockerコマンドの具体的な使い方を知りたい」

「Dockerコマンドを用いた実際のケーススタディを見てみたい」

✔当記事が解説する内容

当記事では、Docker コマンドの初歩から、さまざまなオプションとその活用法まで、具体例を交えながら詳しく述べています。

ぜひ最後までお読みいただき、Dockerコマンドの使いこなしをマスターしてください。

筆者プロフィール

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

Dockerの基本とコマンドの役割

こちらでは、Dockerの概要と、それに伴うDockerコマンドの役割についてお伝えします。

Dockerのコマンドを使いこなすことで、アプリケーションの開発からデプロイまでの一連の流れを効率化し、エラーを最小限に抑えられるでしょう。

Dockerとその特徴

Dockerは、コンテナ技術を用いてアプリケーションのビルド、テスト、デプロイをおこなうためのオープンソースプラットフォームです。

Dockerの主な特徴として、”Build once, run anywhere”という哲学があります。

これは一度Dockerイメージを作成すれば、そのイメージが動作する環境を気にせずにどこでも動作させられるという意味です。

開発者が自分のローカル環境で作成したイメージを、そのままテスト環境や本番環境で使えるのです。

これにより、「自分のマシンでは動作したが、他の環境では動かない」という問題を解決できます。

Dockerコマンドの概観とその重要性

Dockerコマンドは、Dockerイメージの作成や、Dockerコンテナの起動・管理など、Dockerを操作するための手段です。

各コマンドは特定の操作をおこなうために設計されています。

各コマンドを組み合わせることで、アプリケーションのライフサイクル全体をカバーできるのです。

Dockerコマンドを理解し、適切に使いこなすことは、Dockerを最大限に活用する上で欠かせません。

docker images
docker ps

「Dockerイメージとコンテナの基本的な操作方法」

Dockerを使いこなすためには、その核心的な概念であるDockerイメージとコンテナの理解と操作が必須です。

Dockerイメージとコンテナを適切に操作することで、Dockerの持つ強力な機能を最大限に活用することができるでしょう。

「Dockerイメージを作成・管理するためのコマンド」

Dockerイメージは、アプリケーションの実行に必要なすべての要素をパッケージ化したものです。

以下にDockerイメージの作成と管理に関連する基本的なコマンドをいくつか紹介します。

1. Dockerfileからイメージをビルドする

docker build -t my_image:tag .

2. ローカルのDockerイメージ一覧を表示する

docker images

3. Dockerイメージを削除する

docker rmi my_image:tag

「Dockerコンテナを操作する方法とコマンド」

Dockerコンテナは、Dockerイメージを実行した際の実行環境のことを指します。

ここでは、コンテナの起動、停止、再起動、削除など、基本的なコマンドを見ていきましょう。

1. Dockerコンテナを起動する

docker run -d --name my_container my_image:tag

2. 稼働中のDockerコンテナ一覧を表示する

docker ps

3. Dockerコンテナを停止する

docker stop my_container

4. Dockerコンテナを削除する

docker rm my_container

Dockerイメージとコンテナを操作する具体的な手順

Dockerを用いてアプリケーションの環境を作り上げる際には、まずDockerイメージを作成し、次にそのイメージを基にコンテナを実行します。

これらの手順を理解し実行することで、独自のDocker環境を作れるのです。

DockerfileからDockerイメージを作成する手順

Dockerfileは、Dockerイメージを作成するための設計書のようなものです。

以下に、Dockerfileを用いてDockerイメージを作成する基本的な手順を示します。

以下がDockerfileの例です。

# ベースとなるDockerイメージを指定
FROM ubuntu:18.04 

# コンテナ起動時の作業ディレクトリを指定 
WORKDIR /app 

# コンテナ起動時に実行するコマンドを指定 
CMD ["echo", "Hello, Docker!"]

上記のDockerfileを用いてDockerイメージを作成します。-tオプションでイメージに名前をつけられます。

docker build -t my_image:1.0 .

Dockerイメージからコンテナを起動する方法

次に、作成したDockerイメージからDockerコンテナを起動します。

以下のコマンドでDockerコンテナを起動してください。

docker run -d --name my_container my_image:1.0

以下のコマンドでコンテナが稼働しているか確認しましょう。

docker ps

このようにして、DockerfileからDockerイメージを作成し、そのイメージからコンテナを起動できます。

既存のDockerコンテナの操作方法

Dockerは、作成したコンテナを簡単に操作することが可能です。

稼働中のコンテナに対する操作や、停止中のコンテナの削除など、Dockerコンテナの基本的な管理方法を学ぶことで、Dockerの可能性をさらに引き出せます。

「稼働中のコンテナを操作するコマンド」

Dockerでは稼働中のコンテナに対しても多様な操作が可能です。

以下に、稼働中のコンテナの操作方法を示します。

1. コンテナのログを確認する

docker logs my_container

2. コンテナの状態を確認する

docker stats my_container

3. コンテナ内でコマンドを実行する

docker exec -it my_container /bin/bash

停止中・稼働中のコンテナの削除法

不要なコンテナを削除することで、リソースの節約が可能です。

以下に、コンテナの削除方法を示します。

1. コンテナを停止する

docker stop my_container

2. 停止したコンテナを削除する

docker rm my_container

DockerHubとその利用方法

DockerHubは、Dockerのイメージを共有するためのプラットフォームです。

使いこなすことで、作業効率が大幅に向上します。

DockerHubからDockerイメージの取得方法

DockerHubからイメージを取得する方法はとても簡単です。

例えば、nginxの最新の公式イメージを取得したい場合は、以下のようにおこないます。

docker pull nginx:latest

ここでnginx:latestは、イメージの名前とタグを表します。

latestというタグは通常、最新版のこと。

指定したイメージがローカルに存在しない場合、docker pullコマンドはDockerHubからイメージをダウンロードします。

DockerイメージをDockerHubへアップロードする方法

自分で作成したDockerイメージをDockerHubにアップロードも可能です。

そのためには、まずDockerHubにアカウントを作成し、docker loginコマンドでログインする必要があります。

docker login

次に、イメージにタグをつけましょう。

タグにはDockerHubのユーザーネームとリポジトリ名を指定します。

以下が例です。

docker tag my_image:latest my_username/my_repository:latest

最後に、docker pushコマンドでイメージをアップロードします:

docker push my_username/my_repository:latest

これで、DockerHubにイメージをアップロードできます。

なお、公開したくないイメージはプライベートリポジトリに保存することも可能です。

Dockerのローカルイメージとコンテナの状態を確認する方法

Dockerを使用していると、ローカルに保存されているDockerイメージやコンテナの状態を確認することがよくあります。

ローカルのDockerイメージの一覧を表示する

ローカルに保存されているDockerイメージの一覧を表示するには、docker imagesコマンドを使用します。

docker images

このコマンドは、イメージのリポジトリ名、タグ、イメージID、作成日時、サイズなどの情報を含むリストを出力します。

イメージが多数存在する場合は、grepなどのツールを使用して検索することも可能です。

ローカルのDockerコンテナの一覧を表示する

ローカルに保存されているDockerコンテナの一覧を表示するには、docker psコマンドを使用します。

docker ps

ただし、このコマンドはデフォルトで稼働中のコンテナのみを表示します。

すべてのコンテナ(稼働中、停止中を含む)を表示するには、-aオプションを追加します。

docker ps -a

これらのコマンドを使用することで、ローカルのDocker環境の現状を把握できます。

ネットワークと共有データの管理

こちらでは、それらの管理に必要な基本的なコマンドについて説明します。

Dockerの魅力のひとつは、それが提供する容易なネットワーキングとデータ共有の機能です。

「コンテナのネットワークの接続に関する基本コマンド」

Dockerでは、docker networkコマンドを用いてコンテナ間のネットワーキングを管理します。

例えば新しいネットワークを作成するコマンドは、以下のとおり。

docker network create my-network

特定のネットワークにコンテナを接続するのは、以下のコマンドです。

docker run -d --name my-container --network my-network my-image

これらのコマンドは、複数のコンテナがひとつのネットワーク上で通信する際に特に役立ちます。

データ共有・ボリュームの管理に用いるコマンド

Dockerでは、コンテナ間でデータを共有するための方法としてボリュームが提供されています。

ボリュームは、永続的なデータストレージの場所として機能するもの。

ボリュームを作成するにはdocker volume createを使用します。

docker volume create my-volume

コンテナがボリュームにアクセスできるようにするには、docker runコマンドの-vオプションを使用します。

docker run -d --name my-container -v my-volume:/path/in/container my-image

ここではmy-volumeがホスト上のボリューム、/path/in/containerがコンテナ内のマウントポイントを指します。

これらの基本的なコマンドを使って、Dockerコンテナのネットワーキングとデータ共有を管理できます。

まとめ

当記事では、Dockerの基本操作から具体的な手順、新旧のコマンドの違いについて学習してきました。

Dockerを操作するためのコマンドは多岐にわたりますが、それぞれが重要な役割を果たしています。

Dockerコマンドは、コンテナ化アプリケーションのライフサイクル全体を管理するもの。

イメージの作成からコンテナの起動、停止、削除まで、Dockerコマンドを使えばすべての操作をコマンドラインから実行できます。

この便利さが、Dockerの開発者やシステム管理者の間での高い人気の一因です。

Dockerコマンドの習熟は、効率的なDockerの操作とトラブルシューティングに不可欠といえるでしょう。

モバイルバージョンを終了