Dockerの基本と使い方
Dockerとは何かを1から説明します。
読むべき人
・既存のDocker初心者
・既存のDockerfileやcomposeファイルを理解したい人。
対象でない人
・1からDocker環境を作りたい人。
1. Dockerを使う目的
Dockerを使うと、プログラムの動作に必要な環境を簡単に再現できます。例えば:
- チーム全員で同じ環境を使える。
- 自分のPCを汚さずに、新しいツールやプログラムを試せる。
- サーバーやクラウド環境で効率的にプログラムを動かせる。
2. Dockerを使う流れ
1. イメージ(Image)を準備
-
イメージとは?
プログラムを動かすための「テンプレート」や「設計図」。 -
どこで手に入れる?
- Docker Hubというウェブサイトで配布されています。
- 例: Ubuntuのイメージを使いたい場合 →
docker pull ubuntu
2. イメージを動かしてコンテナを作る
-
コンテナとは?
イメージを元に作られる「動く環境」。- イメージ = 設計図、コンテナ = 動く実物。
-
コマンドでコンテナを作る
-
docker run <イメージ名>
→ コンテナを起動して、プログラムが動きます。 - 例:
docker run ubuntu
→ Ubuntu(Linux)が動くコンテナを作成。
-
3. Dockerを操作する重要な用語とコマンド
Docker Hub
- 役割: イメージを保存している場所(ウェブサイト)。
- 関係性: Dockerイメージを取得する出発点。
-
コマンド例:
-
docker pull <イメージ名>
→ イメージをダウンロード。 - 例:
docker pull ubuntu
-
Dockerイメージ
- 役割: プログラムや環境を作るための元データ。
- 関係性: Dockerコンテナの基盤となる。
-
コマンド例:
- ローカルに保存されているイメージ一覧を表示:
docker images
- イメージ削除:
docker rmi <イメージID>
- ローカルに保存されているイメージ一覧を表示:
Dockerコンテナ
- 役割: イメージから作られる動く環境。
- 関係性: 実際にプログラムを動かす場。
-
コマンド例:
- 実行中のコンテナの一覧:
docker ps
- コンテナを作成して起動:
docker run ubuntu
- コンテナを停止:
docker stop <コンテナID>
- コンテナを削除:
docker rm <コンテナID>
- 実行中のコンテナの一覧:
4. コマンド詳細: docker images
docker images
-
主な情報:
- リポジトリ名(
REPOSITORY
): イメージの名前。 - タグ(
TAG
): イメージのバージョン。 - イメージID(
IMAGE ID
): イメージを特定するための識別子。 - 作成日時(
CREATED
): イメージが作られた日付。 - サイズ(
SIZE
): イメージの容量。
- リポジトリ名(
docker ps
- コンテナID(
CONTAINER ID
): コンテナを特定するための識別子。 - イメージ(
IMAGE
): コンテナの元になったイメージ。 - 状態(
STATUS
): コンテナが稼働中かどうか。 - ポート(
PORTS
): 外部アクセス用のポート情報。 - 名前(
NAMES
): コンテナ名。
5. docker run -it bash
の説明
-
役割: インタラクティブモードでコンテナを操作。
-
インタラクティブモード: ユーザーが直接コンテナ内の操作を行えるモードのことです。
コンテナ内でターミナル(コマンド入力画面)を使いながら、リアルタイムでコマンドを実行したり、環境を確認したりできる。
-
インタラクティブモード: ユーザーが直接コンテナ内の操作を行えるモードのことです。
-
関係性: コンテナ内の環境を確認・変更するために重要。
-
コマンドの意味:
-
docker run
: 新しいコンテナを作成して起動。 -
-it
:-
-i
: コンテナに入力を受け付ける(インタラクティブモード)。 -
-t
: ターミナルを割り当てる(コマンド入力用)。
-
-
bash
: コンテナ内でBashシェルを実行。
-
-
実行例:
-
docker run -it ubuntu bash
- Ubuntuのコンテナを起動し、その中でBashシェルを使って直接コマンドを操作できます。
-
6. Dockerの全体像と関連性
関連図
- Docker Hub → イメージをダウンロードする場所。
- Dockerイメージ → プログラムを動かす設計図。
- Dockerコンテナ → イメージを元に作られた動く環境。
- docker ps → 実行中のコンテナを管理。
- docker run -it bash → コンテナ内でシェルを直接操作。
7. まとめ
-
Dockerの流れ:
- Docker Hubからイメージを取得。
- イメージを元にコンテナを作成。
- コンテナ内でプログラムを動かす。
- 必要に応じて整理・削除。
-
便利ポイント:
-
docker ps
でコンテナを管理。 -
docker run -it bash
でコンテナ内を直接操作。
-
Dockerは、プログラムを素早く安全に動かせるツールです。ぜひ試してみましょう!