「私たちの独占的なDockerチートシートをチェックしてください!」

Check out our exclusive Docker cheat sheet!

はじめに

Dockerは、コンテナを使用してアプリケーションのビルド、配布、実行のプロセスを簡素化するオープンソースのプラットフォームです。コンテナを使用することで、開発者はアプリケーションとその依存関係をパッケージ化し、異なる環境でポータブルかつ一貫性のあるものにすることができます。このDockerチートシートは、Dockerを効果的に使用するための必要なコマンドと概念のクイックリファレンスガイドを提供します。

Dockerとは何ですか?

Dockerは、開発者が独立したコンテナ内でアプリケーションを作成、デプロイ、管理するためのコンテナ化プラットフォームです。これらのコンテナには、アプリケーションコード、ランタイム、ライブラリ、および依存関係がパッケージ化されており、さまざまなシステムでの一貫性と効率性が確保されています。

詳細はこちら:初心者向けDocker完全ガイド

Dockerのアーキテクチャ

Dockerはクライアントサーバーアーキテクチャに従います:

  • Dockerクライアント: Dockerデーモンと対話するためのコマンドラインツール。
  • Dockerデーモン: Dockerコンテナのビルド、実行、管理を担当するバックグラウンドサービス。
  • Dockerイメージ: コンテナを作成するための読み取り専用テンプレート。
  • Dockerコンテナ: Dockerイメージの実行インスタンス。
  • Dockerレジストリ: Dockerイメージの保存と配布を行うリポジトリ。

Dockerのインストール

システムにDockerをインストールするには、オペレーティングシステムに適切な手順に従ってください。以下はWindowsおよびMacOSの手順です。

Windows

システム要件の確認

Windows 10 64ビット:Pro、Enterprise、またはEducationエディション

BIOS/UEFIでハードウェア仮想化が有効になっている(Intel VT-x/AMD-V)

Docker Desktopのダウンロード

Dockerの公式ウェブサイトにアクセスし、Windows用のDocker Desktopインストーラーをダウンロードします。

Docker Desktopのインストール

ダウンロードしたインストーラーを実行し、インストールウィザードに従って進めます。

Dockerの起動

インストールが完了すると、Docker Desktopが自動的に起動します。実行中であることを示すシステムトレイにDockerのアイコンが表示されます。

MacOS

システム要件の確認

macOS Sierra 10.12以降

macOSは2010年以降のモデルである必要があり、IntelのハードウェアサポートにMemory Management Unit(MMU)仮想化の機能がある必要があります。

Mac用Docker Desktopのダウンロード

Dockerの公式ウェブサイトにアクセスし、Mac用のDocker Desktopインストーラーをダウンロードします。

Docker Desktopのインストール

ダウンロードした.dmgファイルを開き、DockerのアイコンをApplicationsフォルダにドラッグします。

Dockerの起動

ApplicationsフォルダからDockerを開きます。実行中であることを示すメニューバーに表示されます。

Dockerレジストリとリポジトリ

Dockerレジストリは、Dockerイメージを保存および管理するサービスです。ユーザーはDockerイメージを保存、共有、および取得できる中央リポジトリとして機能します。Docker Hubは公開のDockerレジストリであり、プライベートなレジストリはセキュアな内部イメージの保存に使用できます。

Dockerリポジトリは、タグを使用して異なるバージョンや構成を表す関連するイメージのコレクションです。ユーザーはレジストリ内のリポジトリにイメージをプッシュし、他の人はそれらのイメージを取得してコンテナを実行できます。レジストリとリポジトリは、Dockerエコシステムにおけるイメージの配布の簡素化と共同開発の促進に重要な役割を果たしています。

以下はさまざまな機能のDockerチートシートのコマンドです-

コンテナの実行

イメージからコンテナを実行するには、次のコマンドを使用します:docker run [オプション] イメージ [コマンド]

たとえば、Nginxウェブサーバーを実行するには:docker run -d -p 80:80 nginx

コンテナの開始または停止

  1. 停止したコンテナを開始するには、次のコマンドを使用します:docker start CONTAINER_ID
  2. 実行中のコンテナを停止するには、次のコマンドを使用します:docker stop CONTAINER_ID

コンテナの情報の取得

  1. すべての実行中のコンテナを表示するには、次のコマンドを使用します:docker ps
  2. すべてのコンテナ(停止したものも含む)を表示するには、次のコマンドを使用します:docker ps -a

イメージの管理

  1. レジストリからイメージを取得するには、以下のコマンドを使用します:docker pull IMAGE_NAME[:TAG]
  2. Dockerfileからイメージをビルドするには、Dockerfileのディレクトリに移動し、以下のコマンドを使用します:docker build -t IMAGE_NAME[:TAG]

ネットワーキング

  1. ユーザー定義ブリッジネットワークを作成するには、以下のコマンドを使用します:docker network create NETWORK_NAME
  2. コンテナをネットワークに接続するには、以下のコマンドを使用します:docker network connect NETWORK_NAME CONTAINER_NAME

Dockerのクリーニング

  1. 停止中のコンテナを削除するには、以下のコマンドを使用します:docker rm CONTAINER_ID
  2. イメージを削除するには、以下のコマンドを使用します:docker rmi IMAGE_NAME
  3. 使用されていないリソース(コンテナ、ネットワーク、イメージ、ボリューム)をクリーンアップするには、以下のコマンドを使用します:docker system prune

オーケストレーション

Docker Composeは、マルチコンテナDockerアプリケーションの定義と管理に使用するツールです。YAMLファイルを使用してアプリケーションのサービス、ネットワーク、ボリュームを設定します。Docker Composeを使用すると、複雑な環境やアプリケーションを簡単に立ち上げることができます。以下は、Docker Composeのコマンドです。

  1. docker-compose.ymlファイルで定義されたすべてのコンテナを作成し、起動するには、以下のコマンドを使用します:docker-compose up
  2. デタッチモードでコンテナを作成し、起動するには、以下のコマンドを使用します:docker-compose up -d
  3. docker-compose upで作成されたすべてのコンテナ、ネットワーク、ボリュームを停止および削除するには、以下のコマンドを使用します:docker-compose down
  4. docker-compose.ymlファイルで定義されたすべての実行中のコンテナをリストするには、以下のコマンドを使用します:docker-compose ps
  5. 特定のサービスのログを表示するには、以下のコマンドを使用します:docker-compose logs [service_name]
  6. docker-compose.ymlファイルで定義されたイメージをビルドまたは再ビルドするには、以下のコマンドを使用します:docker-compose build
  7. 特定のサービスコンテナ内でコマンドを実行するには、以下のコマンドを使用します:docker-compose exec [service_name] [command]

サービス

Docker Swarmモードでは、クラスタ上のタスクを定義することにより、アプリケーションを複数のノードにスケーリングし、高可用性を確保することができます。以下は、それに対するコマンドです。

  1. 現在のノードでDocker Swarmを初期化するには、以下のコマンドを使用します:docker swarm init
  2. ワーカーノードとしてDocker Swarmに参加するには、以下を使用します:docker swarm join
  3. Docker Swarmのノードをリストするには、以下のコマンドを使用します:docker node ls
  4. 新しいサービスを作成するには、以下を使用します:docker service create
  5. Swarmで実行中のすべてのサービスをリストするには、以下のコマンドを使用します:docker service ls
  6. サービスのタスク(コンテナ)をリストするには、以下のコマンドを使用します:docker service ps [service_name]
  7. サービスをN個のレプリカにスケールするには、以下のコマンドを使用します:docker service scale [service_name]=N
  8. サービスを更新するには(レプリカの変更、イメージのバージョンの変更など)、以下のコマンドを使用します:docker service update
  9. Swarmからサービスを削除するには、以下のコマンドを使用します:docker service rm [service_name]
  10. ノードを「drain」モードに設定し、新しいタスクを受け取らないようにするには、以下のコマンドを使用します:docker node update –availability drain [node_name]

コンテナとの対話

実行中のコンテナ内でコマンドを実行するには、以下のコマンドを使用します:docker exec [options] CONTAINER_ID COMMAND [ARG…]

例えば、実行中のコンテナのシェルにアクセスするには:docker exec -it CONTAINER_ID sh

重要な用語

  • イメージ:コード、ランタイム、ライブラリ、依存関係を含む、軽量でスタンドアロン、実行可能なソフトウェアパッケージ。
  • コンテナ:実行、開始、停止、削除が可能なDockerイメージのインスタンス。
  • Dockerfile:Dockerイメージのビルド手順を含むテキストファイル。
  • レジストリ:名前付きDockerイメージのストレージおよびコンテンツ配信システム。
  • リポジトリ:タグによって区別される、同じ名前のDockerイメージのコレクション。
  • Docker Compose:マルチコンテナDockerアプリケーションの定義と管理に使用するツール。
  • Docker Swarm:Dockerのネイティブなクラスタリングおよびオーケストレーションソリューション。

結論

結論として、Dockerは、アプリケーションを分離されたコンテナにカプセル化し、依存関係とともにビルド、配信、実行のプロセスを簡素化する必須のコンテナ化プラットフォームです。この包括的なチートシートを使用することで、ユーザーは効率的にDockerの機能を活用し、アプリケーションのデプロイメントをスムーズに行い、さまざまな環境での一貫性を維持することができます。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

人工知能

ジョシュ・フィースト、CogitoのCEO兼共同創業者 - インタビューシリーズ

ジョシュ・フィーストは、CogitoのCEO兼共同創業者であり、感情と会話AIを組み合わせた革新的なプラットフォームを提供するエ...

データサイエンス

「Seerの最高データオフィサーであるDr. Serafim Batzoglouによるインタビューシリーズ」

セラフィム・バツォグルはSeerのチーフデータオフィサーですSeerに加わる前は、セラフィムはInsitroのチーフデータオフィサー...

人工知能

「マーシャンの共同創設者であるイータン・ギンスバーグについてのインタビューシリーズ」

エタン・ギンズバーグは、マーシャンの共同創業者であり、すべてのプロンプトを最適なLLMに動的にルーティングするプラットフ...

人工知能

「コマンドバーの創設者兼CEO、ジェームズ・エバンスによるインタビューシリーズ」

ジェームズ・エバンズは、CommandBarの創設者兼CEOであり、製品、マーケティング、顧客チームを支援するために設計されたAIパ...

人工知能

「ゲイリー・ヒュースティス、パワーハウスフォレンジクスのオーナー兼ディレクター- インタビューシリーズ」

ゲイリー・ヒュースティス氏は、パワーハウスフォレンジックスのオーナー兼ディレクターであり、ライセンスを持つ私立探偵、...

人工知能

「ジンディのCEO兼共同創設者、セリーナ・リー― インタビューシリーズ」

「Celina Leeは、ZindiのCEO兼共同創設者であり、アフリカのデータサイエンティスト向けの最大の専門ネットワークです Celina...