はじめに
こんにちは、エンジニア2年目の嶋田です。
まずは、この記事を開いていただきありがとうございます!
今回は、Dockerでよく使う覚えておきたいコマンドを一覧にまとめたいと思います。
是非、最後までお付き合いください!
目次
Dockerとは
Dockerは「仮想環境」という、コンピュータ内に仮想的なコンピュータを作成し、開発やサーバー設定等をする仕組みです。基本的にDockerはLinuxというサーバー用OSで動きます。パソコンで使用中のOS=WindowsやMacの上にLinuxというOSを仮想的に動かすということです。
Dockerの利点
Dockerの利点は以下の通りです。
- ポータビリティ: コンテナは環境に依存しないため、どんな環境でも同じように動作します。
- 軽量性: コンテナは仮想マシンよりもリソース効率が高く、素早い起動が可能です。
- スケーラビリティ: アプリケーションのコンポーネントを簡単に複製してスケールアップできます。
- 開発効率: 開発者はローカル環境でアプリケーションをテストし、本番環境でも同じコンテナを使用できます。
仮想環境を構築することでハードウェアやネットワーク、メモリー等、様々なリソースやコストを削減できます!
Dockerの基本概念
Microsoft社が公開しているドキュメントを参考に理解してみるとわかりやすいかもしれません!

コンテナとは何か?
コンテナとは、Dockerエンジンの上で動いている仮想環境のことです。
CentOSやUbuntuなどのOSから、MySQLや〇〇などのミドルウェア、RailsやWordPressなどのアプリケーションまで、様々な環境を作ることができます。
イメージとは何か?
イメージは、コンテナの基盤となるテンプレートです。Dockerイメージは、アプリケーションやその実行に必要な環境、ライブラリ、設定などをひとまとめにしたものです。イメージは変更不可能で、コンテナを起動するたびに同じ環境を再現するのに使用されます。イメージは、Docker Hubなどのリモートリポジトリから取得したり、独自に作成したりすることができます。
レジストリとは何か?
レジストリは、Dockerイメージを保存・管理するためのリモートサーバーまたはサービスです。一般的なDockerレジストリにはDocker Hubがあり、数多くの公開イメージが提供されています。また、組織内で独自のDockerレジストリを構築することもできます。イメージをプッシュして共有したり、他のユーザーが作成したイメージをプルして使用したりする際に、レジストリが役立ちます。
Dockerコマンドの基本
以下は、Dockerの基本コマンドです。
# コンテナの起動
docker run [ オプション ] イメージ名 [ コマンド ]
# コンテナの停止
docker stop [ コンテナ名またはID ]
# コンテナの再起動
docker restart [ コンテナ名またはID ]
# 実行中のコンテナの表示
docker ps
# 全てのコンテナ(停止も含む)の表示
docker ps -a
# 利用可能なイメージの表示
docker images
# イメージの取得
docker pull [ イメージ名 ]
# イメージのプッシュ
docker push [ イメージ名 ]
# イメージのビルド
docker build [ オプション ] [ パスまたはURL ]
# コンテナ内でコマンドを実行
docker exec [ オプション ] [ コンテナ名またはID ] コマンド
# コンテナのログの表示
docker logs [ オプション ] [ コンテナ名またはID ]
# コンテナの削除
docker rm [ オプション ] [ コンテナ名またはID ]
# イメージの削除
docker rmi [ オプション ] [ イメージ名 ]
オプション名一覧
コマンド一覧に挙げた内容で、[ オプション ]が存在していると思います。
よく使うオプションを以下にまとめました!
オプション名 | 説明 |
---|---|
-d, --detach | バックグラウンドでコンテナを実行します。 |
-p, --publish | ホストとコンテナの間でポートをマッピングします。 |
-v, --volume | ホストとコンテナ間でディレクトリを共有します。 |
-e, --env | 環境変数を設定します。 |
-i, --interactive | 対話モードでコンテナを起動します。 |
-t, --tty | 疑似TTYを割り当て、対話的なセッションを提供します。 |
-h, --hostname | コンテナのホスト名を設定します。 |
--name | コンテナに名前を指定します。 |
-rm | コンテナを実行後に自動的に削除します。 |
-it | -i と -t オプションを組み合わせて対話的な実行を有効にします。 |
--link | 別のコンテナとリンクを作成します。 |
--network | コンテナが接続するネットワークを指定します。 |
最後に
ここまでお付き合いいただきありがとうございます。参考になっていたら嬉しいです!
私自身まだまだ勉強中なので、間違っている箇所があればコメントで教えていただけるとありがたいです。
今後とも頑張っていきますので宜しくお願いします!