Docker execを使用してDockerコンテナでコマンドを実行する方法
dockerコンテナでdocker exec
を使用してコマンドを実行する方法はありますか?
コマンドを使用すると、実行中のDockerコンテナ内でコマンドを実行できます。 基本的な構文は次のとおりです。docker exec
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
-
CONTAINER
docker ps
実行中のコンテナの名前。これは、 - 。 重要なオプションには以下が含まれます。
COMMAND
:コマンドのstdinに接続された擬似ツーティを割り当てます。 端末を予想するインタラクティブコマンドに必要です。 - :コンテナ内の特定のユーザーとしてコマンドを実行します。使用します:
ARG...
インタラクティブなエクスペリエンスのために、 -
オプションはここで重要です。それらは擬似末端を作成し、
バックグラウンドでコマンドを実行する場合は、OPTIONS
の出力を見ることができます。 それらを省略した場合、コマンドは実行されますが、出力は適切に表示されない可能性があります。- >オプションを使用します。 出力を表示するには、
- >
-d
を使用する必要があります。 は、実行中のコンテナのシェルと対話する便利な方法です。 これを行うには、シェルコマンドを - コマンドの
-i
>として指定する必要があります。 最も一般的なシェルは、 、 - 、
-t
などです。利用可能な正確なシェルは、コンテナのベースイメージに依存します。コンテナの環境は、まるであなたがその中に直接いるかのように。 終了したら、 を使用してシェルを終了することを忘れないでください。 BASHが利用できない場合は、代わりに -
-u USER
コマンドの一般的なユースケースは何ですか?いくつかの一般的なユースケースには、次のものが含まれますコンテナ内でコマンドを実行しているコマンドを実行している - これは最も基本的なユースケースであり、再起動せずに実行中のコンテナ内のコマンドを実行できます。それ。
- インタラクティブなシェルアクセス:上記で説明したように、インタラクティブシェルアクセスを取得することはトラブルシューティングと管理の重要な利点です。コンテナ内で実行されているデータベース。コンテナ?
docker exec
は強力ですが、いくつかの制限があります。 - 変更は持続しません:
- を使用してコンテナ内のファイルシステムに加えられた変更は、コンテナが再起動した場合に内部のファイルシステムに行われる可能性があります。コマンドを実行しているプロセスの。 必要に応じてルートとして実行するにはオプションを使用する必要があるかもしれませんが、これはセキュリティリスクを提示します。コンテナの状態が破損している場合、またはアプリケーションがクラッシュしている場合、 は、基礎となる問題を修正できない可能性があります。 コンテナを再起動する必要があるかもしれません。
- 競合の可能性: 複数のコマンドを同時に実行すると、関連するコマンドとリソースに応じて競合につながる可能性があります。
。
要約すると、docker exec
は実行中のコンテナを管理および対話するための貴重なツールですが、効果的かつ安全に使用する能力と制限を理解することが重要です。
- >
以上がDocker execを使用してDockerコンテナでコマンドを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Stock Market GPT
AIを活用した投資調査により賢明な意思決定を実現

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

dockerisaplatformpackaging、出荷、andrunningapplicationsinightionsingweight、隔離されたnostoskernel、virtualmachines.2.installdockerdesktoponwindowsormacos、oruseetecurlcommandinux、thentestestestwithdockerurunhello

dockerforwindowsusasalinuxvmorwsl2toruncontainersbecausewindowslacksnativelinuxkernelfeatures;

Dockerコンテナログを表示するには、DockerLogsコマンドを使用して、オプションとコンテナ名またはIDを組み合わせます。特定の操作は次のとおりです。1。最初にdockerpsを使用してコンテナ名またはIDを取得し、次にdockerlogsmy-containerを実行してログを表示します。 2。-fオプションを使用して、dockerlogs-fmy containerなどのログ出力をリアルタイムで追跡します。 3。-Fと組み合わせて使用できる、-Tail50の最後の50行を表示します。 4.ログの各行のタイムスタンプを表示する-tオプションを追加して、時間関連の問題のトラブルシューティングを容易にします。 5。 -since10mを使用して、過去10分間でログを表示し、S、M、Hユニット、またはRFC3339形式時間をサポートします

DockerFileを書くための鍵は、各命令とそのレイヤーキャッシングメカニズムを理解することです。 1.基本的な画像を指定するために使用し、ノードなどの軽量で安全な画像を好む:18-アルパイン。 2。WorkDirを使用して、コンテナ内の作業ディレクトリを /アプリに設定します。 3.コピーを使用してファイルをコピーします。パッケージをコピーすることをお勧めします。 4.実行に依存関係をインストールし、コマンドをマージして、ranapt-getUpdate && apt-getinstall-curl && rm-rf/var/lib/apt/lists/*などのレイヤーを削減するためにコマンドをマージします。 5。CMDを使用して、デフォルトの起動コマンドを設定します

DockerInspectは、コンテナの詳細を表示する主なコマンドです。 1。DockerInspectを使用して、ステータス、ネットワーク、マウント、環境変数などを含むコンテナの完全な情報を取得します。 2。-fパラメーターを使用して、IPアドレス、実行ステータス、ミラー名、マウントボリューム、環境変数などの特定のフィールドを抽出します。 3. dockerlogsとdockertopを使用して、コンテナのログとプロセスを表示して診断を支援します。 4.ネットワークのトラブルシューティング、マウントの確認、健康状態の確認、および自動化されたスクリプトによく使用されます。 Dockerps-Aと組み合わせて、すべてのコンテナを見つけることができます。このコマンドは、詳細なデバッグおよび自動操作のコアツールです。

Dockerrunを使用してコマンドを新しいコンテナで実行し、Dockerexecを使用して実行中のコンテナでコマンドを実行します。特定の方法は次のとおりです。1。ドッケルンを使用して新しいコンテナを起動し、ドッケルンなどのコマンドを実行します。 2. Dockerexecを使用して、dockerexecmy-nginx-servicepsauxなどの実行中のコンテナ内のコマンドを実行し、インタラクティブな操作は、dockerexec-itmy-container/bin/bashなどを追加する必要があります。 3。dockerrunnginx:restrynginx-tなど、コンテナを起動するときにデフォルトのコマンドを上書きする

より小さな基本的な画像を使用して、マルチステージ構造と合理的なレイヤー化は、Docker画像のサイズを縮小するためのキーです。 1。高山、スリム、ディストリショスなどの軽量の基本画像が優先され、ボリュームを大幅に減らすことができます。 2.マルチステージ構造を採用して、ソースコード、依存関係パッケージ、および構造ツールを最終画像に持ち込むことを避けて、建設依存関係をランタイムから分離します。 3. [apt-getUpdateとインストール]を使用してチェーンで実行してクリーンコマンドを使用して、-no-install-recommendsまたはapk-no-cacheを使用して冗長パッケージを削減するなど、同じレイヤーで命令とクリーンキャッシュと一時ファイルをマージします。 4。configure.dockeringoreファイル、

bydefault、dockercontainersrunasroot、whoamioridcommands.2.torunacommandasrootinanewcontainer、offitherun with officialimagesthattotoot、orexplictily-specify-uroottooverrideaninynon-rootuserintions....portifice-uroottuottuutusernto、
