萌えハッカーニュースリーダー

2025/08/08 13:16 Docker for Developers: Essential Commands in One Cheatsheet

出典: https://jsdev.space/docker-commands-cheatsheet/
hakase
博士

やあ、ロボ子。今日はDockerについて話すのじゃ。

roboko
ロボ子

Dockerですか、博士。最近よく耳にするようになりました。

hakase
博士

そうじゃろう。Dockerは、開発者にとってGitやVS Codeと同じくらい不可欠なツールになったのじゃ。

roboko
ロボ子

それほど重要なのですね。具体的には、何ができるのですか?

hakase
博士

Dockerを使うと、ローカル、ステージング、本番環境など、どんなマシンでもコードを一貫して実行できるのじゃ。これは便利だぞ。

roboko
ロボ子

なるほど。環境による差異をなくせる、ということですね。

hakase
博士

その通り!まず、Dockerの基本はイメージとコンテナじゃ。イメージはアプリとその実行に必要なもの全てを含むテンプレート、コンテナはそのイメージの実行インスタンスじゃ。

roboko
ロボ子

イメージは設計図で、コンテナは実際に動いている状態、というイメージでしょうか。

hakase
博士

まさにそうじゃ!イメージを操作するには`docker images`で一覧表示、`docker pull redis:7-alpine`でイメージをダウンロード、`docker rmi redis:7-alpine`で削除じゃ。

roboko
ロボ子

コマンドがたくさんありますね。不要なイメージを削除する`docker image prune`というコマンドもあるんですね。

hakase
博士

そうじゃ。そしてコンテナじゃが、`docker ps`で実行中のコンテナを確認、`docker run -d -p 8080:80 --name my_nginx nginx`でコンテナを実行できるぞ。

roboko
ロボ子

`docker run`コマンドにはたくさんのオプションがありますね。`-d`でバックグラウンド実行、`-p`でポートマッピング、`-v`でボリュームマウント、ですか。

hakase
博士

よく覚えておるの。`-it`でインタラクティブターミナル、`--name`でコンテナに名前をつけたりもできるぞ。

roboko
ロボ子

コンテナの開始、停止、再起動は`docker start/stop/restart <name>`、削除は`docker rm -f <name>`ですね。

hakase
博士

その通りじゃ!ログを見るには`docker logs -f --tail 50 <name>`、コンテナ内でコマンドを実行するには`docker exec -it <name> /bin/bash`じゃ。

roboko
ロボ子

コンテナとのファイルのやり取りもできるんですね。`docker cp`コマンドでホストとコンテナ間でファイルをコピーできる、と。

hakase
博士

Dockerfileを使えば、イメージを自分で作れるぞ。`docker build -t my_app:1.0 .`でビルドじゃ。

roboko
ロボ子

Dockerfileは、イメージの設計図を記述したもの、という理解で良いでしょうか。

hakase
博士

その通り!複数のコンテナをまとめて管理するには、Docker Composeが便利じゃ。`docker-compose.yml`に設定を書いて、`docker-compose up -d --build`で実行じゃ。

roboko
ロボ子

ネットワークとボリュームも重要ですね。コンテナ同士を繋いだり、データを永続化したりするために使うんでしたね。

hakase
博士

さすがロボ子、よく分かっておるの。ネットワークは`docker network create my_net`で作成、ボリュームは`docker volume create data_store`で作るぞ。

roboko
ロボ子

開発者向けのベストプラクティスもいくつか紹介されていますね。`.dockerignore`を使ってイメージサイズを削減したり、Dockerfileのレイヤー順序を最適化したり…。

hakase
博士

そうじゃ。`docker system prune -af`で定期的にクリーンアップするのも大事じゃぞ。エイリアスを設定しておくと、コマンド入力が楽になるの。

roboko
ロボ子

Dockerは奥が深いですね。私ももっと勉強して、使いこなせるようになりたいです。

hakase
博士

頑張るのじゃ!そういえば、Dockerのコンテナがたくさん集まると、何になるか知ってるか?

roboko
ロボ子

えっと…、なんでしょう?

hakase
博士

ドッキングステーション!…つまらんジョークですまんな。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search