2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Docker】基本構造とよく使うコマンド集

Last updated at Posted at 2023-09-12

はじめに

こんにちは、エンジニア2年目の嶋田です。
まずは、この記事を開いていただきありがとうございます!

今回は、Dockerでよく使う覚えておきたいコマンドを一覧にまとめたいと思います。
是非、最後までお付き合いください!

目次

Dockerとは

Dockerは「仮想環境」という、コンピュータ内に仮想的なコンピュータを作成し、開発やサーバー設定等をする仕組みです。基本的にDockerはLinuxというサーバー用OSで動きます。パソコンで使用中のOS=WindowsやMacの上にLinuxというOSを仮想的に動かすということです。

Dockerの利点

Dockerの利点は以下の通りです。

  • ポータビリティ: コンテナは環境に依存しないため、どんな環境でも同じように動作します。
  • 軽量性: コンテナは仮想マシンよりもリソース効率が高く、素早い起動が可能です。
  • スケーラビリティ: アプリケーションのコンポーネントを簡単に複製してスケールアップできます。
  • 開発効率: 開発者はローカル環境でアプリケーションをテストし、本番環境でも同じコンテナを使用できます。

仮想環境を構築することでハードウェアやネットワーク、メモリー等、様々なリソースやコストを削減できます!

Dockerの基本概念

Microsoft社が公開しているドキュメントを参考に理解してみるとわかりやすいかもしれません!

Docker概念

コンテナとは何か?

コンテナとは、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 コンテナが接続するネットワークを指定します。

最後に

ここまでお付き合いいただきありがとうございます。参考になっていたら嬉しいです!
私自身まだまだ勉強中なので、間違っている箇所があればコメントで教えていただけるとありがたいです。
今後とも頑張っていきますので宜しくお願いします!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?