コンテナは Docker のもう一つの中心的な概念です。 簡単に言えば、コンテナとは、独立して実行される 1 つまたは複数のアプリケーションとその動作環境です。同様に、仮想マシンは、シミュレートされたオペレーティング システム (実行環境とその他のシステム環境を提供) とその上で実行されるアプリケーションの完全なセットとして理解できます。 コンテナに対する主な操作は次のとおりです。
コンテナを起動する 方法は2つあります。1つはイメージを元に新しいコンテナを作成して起動する方法、もう1つは停止状態のコンテナを再起動する方法です。 作成して開始 必要なコマンドは主にdocker runです これは、ローカルで /bin/echo 'hello world' を実行するのとほとんど区別がつきません。 次のコマンドは bash ターミナルを起動し、次のようなユーザー操作を可能にします。 docker run -t -i ubuntu:18.04 /bin/bash -t オプションを使用すると、Docker は疑似 tty を割り当ててコンテナの標準入力にバインドしますが、-i オプションを使用するとコンテナの標準入力が開いたままになります。 では、docker run コマンドを使用してコンテナを作成して起動すると何が起こるでしょうか?
したがって、bash を介してターミナルに入ると、実際には別のシステムに入ることになります。 終了したコンテナを起動する docker container start コマンドを使用して、終了したコンテナを直接起動できます。 コンテナの中核は実行されるアプリケーションであり、アプリケーションを実行するために必要なリソースが必要です。これ以外にリソースはありません。擬似端末で ps または top を使用してプロセス情報を表示できます。 コンテナ内では指定された bash アプリケーションのみが実行中であることがわかります。この機能により、Docker のリソース使用率が非常に高くなり、真に軽量な仮想化が実現します。 バックグラウンド操作 多くの場合、コンテナはバックグラウンドで実行されますが、これを実現するには -d パラメータを追加できます。以下は 1 秒ごとに hello world を出力します。 docker run ubuntu:18.04 /bin/sh -c "while true; do echo hello world;sleep 1;done" -d パラメータを使用してコンテナを実行すると、コンテナはバックグラウンドで実行されます。 注意: コンテナが長時間実行されるかどうかは、docker run で指定されたコマンドに関連し、-d パラメータとは関係ありません。 -d パラメータを指定して起動すると、一意の ID が返されます。docker container ls コマンドを使用してコンテナ情報を表示することもできます。 コンテナの出力情報を取得するには、docker container logs コマンドを使用できます。 docker コンテナ ログ [コンテナ ID または名前] コンテナの終了 実行中のコンテナを終了するには、docker container stop または docker stop container-id を使用できます。また、Docker コンテナ内で指定されたアプリケーションが終了すると、コンテナも自動的に終了します。 終了状態のコンテナは、docker container ls -a コマンドを使用して確認できます。例えば: 終了したコンテナは、docker container start コマンドを使用して再起動できます。 さらに、docker container restart コマンドは実行中のコンテナを終了してから再起動します。 コンテナに入る -d パラメータを使用すると、コンテナは起動後にバックグラウンドに入ります。 場合によっては、docker attach コマンドや docker exec コマンドなどを使用して、コンテナーに入って操作を実行する必要があります。以下に説明する理由により、docker exec コマンドを使用することをお勧めします。 アタッチコマンド 注意: この stdin を終了すると、コンテナは停止します。 実行コマンド docker exec には複数のパラメータを続けることができますが、ここでは主に -i -t パラメータについて説明します。 -i パラメータのみを使用する場合、疑似端末が割り当てられないため、インターフェイスには使い慣れた Linux コマンド プロンプトはありませんが、コマンド実行結果は返すことができます。 -i -t パラメータを一緒に使用すると、使い慣れた Linux コマンド プロンプトが表示されます。 この stdin から終了すると、コンテナは停止されません。このため、docker exec を使用することをお勧めします。 コンテナのエクスポートとインポート 輸出コンテナ ローカル コンテナをエクスポートする場合は、docker export コマンドを使用できます。 これにより、コンテナのスナップショットがローカル ファイルにエクスポートされます。 コンテナのインポート docker import を使用して、コンテナのスナップショット ファイルをイメージとしてインポートできます。次に例を示します。 cat ubuntu.tar | docker import - test/ubuntu:v1.0 コンテナの削除 終了状態のコンテナを削除するには、docker container rm または docker rm container-id を使用できます。例えば: 注意: コンテナを削除するにはコンテナを停止する必要があります 終了したコンテナをすべてクリーンアップする docker container ls -a コマンドを使用すると、終了状態のものも含め、作成されたすべてのコンテナが表示されます。コンテナが多すぎると、1つずつ削除するのが面倒になる場合があります。終了状態のすべてのコンテナをクリーンアップするには、次のコマンドを使用します。 $ dockerコンテナのプルーン この操作は非常に危険なので、注意して使用してください。上記はDockerコンテナに関する一般的な操作です。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Mac MySQL のルートパスワードをリセットするチュートリアル
>>: WeChatアプレットはユーザーログインモジュールサーバーの構築を実装します
HTMLとは何ですか?簡単に言えば、HTML は Web ページを作成するために使用されます。とて...
1. cuda10.1をダウンロードします。 NVIDIA 公式ウェブサイト リンク: https:...
目次1. なぜ vue3 が必要なのでしょうか? 2. vue3の利点3. 応答原則の違い4. ライ...
目次1. ヘルプコマンド2. ミラーコマンド3. コンテナコマンド1. ヘルプコマンド1. 現在のD...
序文この記事では、MySQL 5.7 グリーン バージョンのインストール チュートリアルを紹介します...
HTTPヘッダーとはHTTP は「Hypertext Transfer Protocol」の略です。...
目次コンテナ階層サーブレットの検索を要求するプロセス仕組みTomcat のコンテナは Servlet...
方法は2つあります: 1. サービス方法ファイアウォールのステータスを確認します。 [root@ce...
目次1.同時アクセス制御2. 取引1. トランザクションは ACID 原則に従います。 2. トラン...
この記事では、Vueの具体的なコード例を参考までに紹介します。具体的な内容は以下のとおりです。 コー...
Web プロジェクトがどんどん大きくなると、CSS は天文学的な大きさと複雑さを増します。この問題を...
序文Docker はコンテナの環境変数を設定できます。設定方法は 2 つあります。イメージを作成する...
Flex レイアウトの紹介英語の Flex はフレキシブル ボックス、つまり伸縮性のあるボックスを...
MySQL の追加、削除、変更、クエリステートメント1. 練習シートを作成するここでの練習表は3つの...
Dockerで作成したコンテナを削除する方法1. まず、docker -s -aコマンドを使用してす...