「私たちの独占的なDockerチートシートをチェックしてください!」
Check out our exclusive Docker cheat sheet!
はじめに
Dockerは、コンテナを使用してアプリケーションのビルド、配布、実行のプロセスを簡素化するオープンソースのプラットフォームです。コンテナを使用することで、開発者はアプリケーションとその依存関係をパッケージ化し、異なる環境でポータブルかつ一貫性のあるものにすることができます。このDockerチートシートは、Dockerを効果的に使用するための必要なコマンドと概念のクイックリファレンスガイドを提供します。
Dockerとは何ですか?
Dockerは、開発者が独立したコンテナ内でアプリケーションを作成、デプロイ、管理するためのコンテナ化プラットフォームです。これらのコンテナには、アプリケーションコード、ランタイム、ライブラリ、および依存関係がパッケージ化されており、さまざまなシステムでの一貫性と効率性が確保されています。
詳細はこちら:初心者向けDocker完全ガイド
Dockerのアーキテクチャ
Dockerはクライアントサーバーアーキテクチャに従います:
- 「ビジネスインテリジェンスとは何ですか?」
- Gradient Checkpointing、LoRA、およびQuantizationを使用して、単一のGPUにLLMをフィットさせてください
- 「ソースフリーなドメイン適応の汎用的な方法を探求する」
- 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
コンテナの開始または停止
- 停止したコンテナを開始するには、次のコマンドを使用します:docker start CONTAINER_ID
- 実行中のコンテナを停止するには、次のコマンドを使用します:docker stop CONTAINER_ID
コンテナの情報の取得
- すべての実行中のコンテナを表示するには、次のコマンドを使用します:docker ps
- すべてのコンテナ(停止したものも含む)を表示するには、次のコマンドを使用します:docker ps -a
イメージの管理
- レジストリからイメージを取得するには、以下のコマンドを使用します:docker pull IMAGE_NAME[:TAG]
- Dockerfileからイメージをビルドするには、Dockerfileのディレクトリに移動し、以下のコマンドを使用します:docker build -t IMAGE_NAME[:TAG]
ネットワーキング
- ユーザー定義ブリッジネットワークを作成するには、以下のコマンドを使用します:docker network create NETWORK_NAME
- コンテナをネットワークに接続するには、以下のコマンドを使用します:docker network connect NETWORK_NAME CONTAINER_NAME
Dockerのクリーニング
- 停止中のコンテナを削除するには、以下のコマンドを使用します:docker rm CONTAINER_ID
- イメージを削除するには、以下のコマンドを使用します:docker rmi IMAGE_NAME
- 使用されていないリソース(コンテナ、ネットワーク、イメージ、ボリューム)をクリーンアップするには、以下のコマンドを使用します:docker system prune
オーケストレーション
Docker Composeは、マルチコンテナDockerアプリケーションの定義と管理に使用するツールです。YAMLファイルを使用してアプリケーションのサービス、ネットワーク、ボリュームを設定します。Docker Composeを使用すると、複雑な環境やアプリケーションを簡単に立ち上げることができます。以下は、Docker Composeのコマンドです。
- docker-compose.ymlファイルで定義されたすべてのコンテナを作成し、起動するには、以下のコマンドを使用します:docker-compose up
- デタッチモードでコンテナを作成し、起動するには、以下のコマンドを使用します:docker-compose up -d
- docker-compose upで作成されたすべてのコンテナ、ネットワーク、ボリュームを停止および削除するには、以下のコマンドを使用します:docker-compose down
- docker-compose.ymlファイルで定義されたすべての実行中のコンテナをリストするには、以下のコマンドを使用します:docker-compose ps
- 特定のサービスのログを表示するには、以下のコマンドを使用します:docker-compose logs [service_name]
- docker-compose.ymlファイルで定義されたイメージをビルドまたは再ビルドするには、以下のコマンドを使用します:docker-compose build
- 特定のサービスコンテナ内でコマンドを実行するには、以下のコマンドを使用します:docker-compose exec [service_name] [command]
サービス
Docker Swarmモードでは、クラスタ上のタスクを定義することにより、アプリケーションを複数のノードにスケーリングし、高可用性を確保することができます。以下は、それに対するコマンドです。
- 現在のノードでDocker Swarmを初期化するには、以下のコマンドを使用します:docker swarm init
- ワーカーノードとしてDocker Swarmに参加するには、以下を使用します:docker swarm join
- Docker Swarmのノードをリストするには、以下のコマンドを使用します:docker node ls
- 新しいサービスを作成するには、以下を使用します:docker service create
- Swarmで実行中のすべてのサービスをリストするには、以下のコマンドを使用します:docker service ls
- サービスのタスク(コンテナ)をリストするには、以下のコマンドを使用します:docker service ps [service_name]
- サービスをN個のレプリカにスケールするには、以下のコマンドを使用します:docker service scale [service_name]=N
- サービスを更新するには(レプリカの変更、イメージのバージョンの変更など)、以下のコマンドを使用します:docker service update
- Swarmからサービスを削除するには、以下のコマンドを使用します:docker service rm [service_name]
- ノードを「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!
Was this article helpful?
93 out of 132 found this helpful
Related articles