検索
ホームページ運用・保守Dockerdocker run と docker exec コマンドの違いは何ですか?

違い: 1. 「docker run」の操作オブジェクトは「ミラー」ですが、「docker exec」の操作オブジェクトは「コンテナ」です; 2. 「docker run」はコンテナがない状況に適していますが実行されており、「docker exec」は既存のコンテナーでコマンドを実行するのに適しています。

docker run と docker exec コマンドの違いは何ですか?

このチュートリアルの動作環境: linux5.9.8 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。

docker run と docker exec の違い


##docker run:イメージに基づいてコンテナーを作成するコマンドを実行します。操作のオブジェクトは mirror;

docker exec: です。実行中のコンテナ内 コマンド実行時の操作対象は container です。

「docker run」は通常、新しく作成されたコンテナーで使用されるコマンドです。これは、コンテナーが実行されていないが、コンテナーを作成して起動し、その上でプロセスを実行する必要がある状況に適しています。

「docker exec」は、既存のコンテナーでコマンドを実行するのに適しています。すでに実行中のコンテナーがあり、それを変更したり、コンテナーから何かを取得したりする場合は、「docker exec」コマンドを使用するのが最適です。


#docker run コマンド

構文

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
オプション説明:

  • -a stdin: 標準入出力のコンテンツ タイプ (オプションの STDIN/STDOUT/STDERR) を指定します。

  • ##-d

    : コンテナをバックグラウンドで実行し、コンテナ ID を返します;

  • -i

    :対話する コンテナを実行するモード、通常 -t とともに使用;

  • -P

    : ランダム ポート マッピング、コンテナ内部ポートRandomホストの上位ポートにマッピング

  • -p

    :ポート マッピングを指定します。形式は次のとおりです: ホスト (ホスト) ポート:コンテナ ポート

  • -t

    :擬似入力ターミナルをコンテナに再割り当てします (通常は -i と一緒に使用します;

  • --name="nginx-lb"

    : コンテナの名前を指定します;

  • --dns 8.8.8.8

    : 使用する DNS サーバーを指定しますデフォルトでホストと一致するコンテナー別;

  • --dns-search example.com

    : コンテナーの DNS を指定します検索ドメイン名 (デフォルトはホストと同じ)

  • -h "mars"

    : コンテナーのホスト名を指定します。

  • -e username ="ritchie"

    : 環境変数を設定します;

  • ##--env-file=[]

    : 指定されたファイルから環境変数に読み込まれます;

  • -- cpuset="0-2" または --cpuset="0,1,2"

    : 実行する指定された CPU にコンテナをバインドします;

  • ##-m
  • :

    コンテナが使用する最大メモリを設定します;

  • --net="bridge"
  • :

    コンテナのネットワーク接続タイプを指定し、ブリッジ/ホスト/なし/コンテナをサポート: 4 つのタイプ タイプ;

    ##-- link=[]
  • :
  • 別のコンテナへのリンクを追加します;

    --expose=[]
  • :
  • 開くポートまたはポートのグループ;

    --volume , -v
  • :
  • ボリュームをバインド

    #インスタンス

  • docker イメージ nginx:latest を使用してバックグラウンド モード コンテナーで起動し、コンテナーに my-nginx という名前を付けます。
docker run --name my-nginx -p 8081:80 -d nginx:latest

ブラウザは http://ホスト IP:8081 にアクセスします。その結果は次のようになります:

#ミラーを使用するnginx: 最新はバックグラウンド モードでコンテナを起動し、コンテナのポート 80 をホスト上のランダム ポートにマップします:

docker run -P -d nginx:latest

使用镜像 nginx:latest 以后台模式启动一个容器,将主机的 80 端口映射到容器的 80 端口,主机的目录 /data 映射到容器的 /data:

docker run -p 80:80 -v /data:/data -d nginx:latest

使用镜像 nginx:latest 以交互模式启动一个容器,在容器内执行/bin/bash命令:

docker run -it nginx:latest /bin/bash


docker exec 命令

语法

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

OPTIONS说明:

  • -d分离模式: 在后台运行

  • -i :  即使没有附加也保持STDIN 打开

  • -t分配一个伪终端

在容器名称 my-nginx 中开启一个交互模式的终端:

docker exec -it my-nginx /bin/bash

或者使用容器ID 721eb23901ce 开启一个交互模式的终端:

docker exec -it 721eb23901ce /bin/bash

推荐学习:《docker视频教程

以上がdocker run と docker exec コマンドの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Docker監視:メトリックの収集とコンテナの健康の追跡Docker監視:メトリックの収集とコンテナの健康の追跡Apr 10, 2025 am 09:39 AM

Docker監視の中核は、主にCPUの使用、メモリ使用、ネットワークトラフィック、ディスクI/Oなどのインジケーターを含む、コンテナの動作データを収集および分析することです。 Prometheus、Grafana、Cadvisorなどのツールを使用することにより、コンテナの包括的な監視とパフォーマンスの最適化を実現できます。

Docker Swarm:スケーラブルで回復力のあるコンテナクラスターの構築Docker Swarm:スケーラブルで回復力のあるコンテナクラスターの構築Apr 09, 2025 am 12:11 AM

DockerSwarmは、スケーラブルで非常に利用可能なコンテナクラスターを構築するために使用できます。 1)dockerswarminitを使用して群れクラスターを初期化します。 2)swarmクラスターに参加して、dockerswarmjoinを使用します。 3)DockerServiceCreate-Namemy-Nginxを使用してサービスを作成します - Replicas3nginx。 4)dockerstackdeploy-cdocker-compose.ymlmyAppを使用して複雑なサービスを展開します。

Kubernetesを備えたDocker:エンタープライズアプリケーション用のコンテナオーケストレーションKubernetesを備えたDocker:エンタープライズアプリケーション用のコンテナオーケストレーションApr 08, 2025 am 12:07 AM

DockerとKubernetesを使用して、エンタープライズアプリケーションのコンテナオーケストレーションを実行する方法は?次の手順で実装します。Dockerイメージを作成し、DockerHubにプッシュします。 Kubernetesで展開とサービスを作成して、アプリケーションを展開します。 Ingressを使用して外部アクセスを管理します。パフォーマンスの最適化と、マルチステージの構築やリソースの制約などのベストプラクティスを適用します。

Dockerのトラブルシューティング:一般的な問題の診断と解決Dockerのトラブルシューティング:一般的な問題の診断と解決Apr 07, 2025 am 12:15 AM

Docker FAQは、次の手順で診断および解決できます。1。コンテナのステータスとログを表示、2。ネットワーク構成を確認します。これらの方法により、Dockerの問題を迅速に配置して固定し、システムの安定性とパフォーマンスを向上させることができます。

Dockerインタビューの質問:DevOpsエンジニアリングインタビューをエースDockerインタビューの質問:DevOpsエンジニアリングインタビューをエースApr 06, 2025 am 12:01 AM

Dockerは、DevOpsエンジニアにとって必須のスキルです。 1.Dockerは、アプリケーションとその依存関係をコンテナにパッケージ化することにより、分離と移植性を実現するオープンソースのコンテナ化されたプラットフォームです。 2. Dockerは、名前空間、コントロールグループ、フェデレーションファイルシステムで動作します。 3。基本的な使用には、コンテナの作成、実行、管理が含まれます。 4.高度な使用法には、DockerComposeを使用してマルチコンテナーアプリケーションを管理することが含まれます。 5.一般的なエラーには、コンテナ障害、ポートマッピングの問題、データの持続性の問題が含まれます。デバッグスキルには、ログの表示、コンテナの入り、および詳細情報の表示が含まれます。 6.パフォーマンスの最適化とベストプラクティスには、画像の最適化、リソースの制約、ネットワーク最適化、DockerFileを使用するためのベストプラクティスが含まれます。

Dockerセキュリティ硬化:容量から容器を保護しますDockerセキュリティ硬化:容量から容器を保護しますApr 05, 2025 am 12:08 AM

Dockerセキュリティの強化方法は次のとおりです。1。-cap-dropパラメーターを使用してLinux機能を制限します。2。読み取り専用コンテナを作成します。これらの戦略は、脆弱性の露出を減らし、攻撃者の機能を制限することにより、コンテナを保護します。

Dockerボリューム:コンテナ内の永続的なデータの管理Dockerボリューム:コンテナ内の永続的なデータの管理Apr 04, 2025 am 12:19 AM

Dockervolumeは、コンテナを再起動、削除、または移行すると、データが安全であることが保証されます。 1。ボリュームの作成:Dockervolumecreatemydata。 2。コンテナとマウントボリュームを実行します:Dockerrun-It-Vmydata:/app/dataubuntubash。 3.高度な使用には、データ共有とバックアップが含まれます。

高度なDockerネットワーキング:マスタリングブリッジ、ホスト&オーバーレイネットワーク高度なDockerネットワーキング:マスタリングブリッジ、ホスト&オーバーレイネットワークApr 03, 2025 am 12:06 AM

Dockerは、ブリッジネットワーク、ホストネットワーク、オーバーレイネットワークの3つのメインネットワークモードを提供します。 1.ブリッジネットワークは、単一のホストでのコンテナー間通信に適しており、仮想ブリッジを介して実装されています。 2。ホストネットワークは、高性能ネットワークが必要なシナリオに適しており、コンテナはホストのネットワークスタックを直接使用します。 3.オーバーレイネットワークは、マルチホストDockerswarmクラスターに適しており、仮想ネットワークレイヤーを介してクロスホスト通信が実現されます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Mac版

SublimeText3 Mac版

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

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、