Docker execは複数のコマンドを実行します

Docker execは複数のコマンドを実行します

docker exec コマンドは、実行中のコンテナ内でコマンドを実行できます。

docker exec コマンドの使用形式は次のとおりです。

docker exec [オプション] コンテナ名 コマンド [引数...]

オプションの説明:

-d、コマンドをバックグラウンドモードで実行します。

-e、環境変数を設定する

-i、対話モード

-t、TTY を設定する

-u、ユーザー名またはUID、例:myuser:myusergroup

通常、COMMAND は 1 つのステートメントのみになります。複数のコマンドの実行をサポートするには、複数のコマンドを接続して Shell に渡す必要があります。

以下は docker exec コマンドの使用例です。

sudo docker exec myContainer bash -c "cd /home/myuser/myproject && git fetch ssh://gerrit_server:29418/myparent/myproject ${GERRIT_REFSPEC} && git checkout FETCH_HEAD";
sudo docker exec myContainer bash -c "cd /home/myuser/myproject;git fetch ssh://gerrit_server:29418/myparent/myproject ${GERRIT_REFSPEC};git checkout FETCH_HEAD";

注: 一時停止または停止されたコンテナの場合、docker exec コマンドは実行できず、次のように例外がスローされます。

docker で myContainer を一時停止する 
docker exec myContainer ...

補足: Docker exec hostはコンテナ上でコマンドを実行します

Dockerのホストからコンテナに命名操作を実行する

docker exec -it 
# Interaction はコンテナに入ることができます。exec はホスト上のコンテナでコマンドを実行することもできます。
ドッカーアタッチ 
# コンテナに入ることもできます

1. リモート実行コマンド: ファイル操作:

docker exec -d nginx1 touch /etc/1.txt
-d: バックグラウンドタイプ、nginx1コンテナに1.txtファイルを作成する

2. ファイルのコピー操作は引き続き cp です。

docker cp 1.11.sh nginx1:/root/
# ホストからファイルをコピーする docker exec nginx1 ls /root
# ファイルを表示 docker exec nginx1 rm -rf /root/1.11.sh
# ファイルを削除する

3. diff を使用してコンテナのディレクトリ構造を表示します。

docker diff nginx1
# nginx1コンテナのファイル構造を表示する

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • DockerでJenkins環境を起動する際の問題について
  • CentOS用のDockerの特定のバージョンをインストールする
  • dockerの基本コマンドと使用例の詳しい説明
  • Docker プロジェクトのデプロイに関する完全なガイド (概要)
  • Dockerイメージとコンテナのインポ​​ートとエクスポート操作の実践
  • DockerコンテナでNginxを実行し、リバースプロキシを実装する
  • Docker execの実装原理の紹介

<<:  MySQLオンラインデータベースのデータをクリーンアップする方法

>>:  Chrome デベロッパー ツールの詳細な紹介 - タイムライン

推薦する

MySQLが大量のデータを処理する際にクエリ速度を最適化するいくつかの方法

実際に参加したプロジェクトでは、MySQL テーブルのデータ量が数百万に達すると、通常の SQL ク...

Dockerにelasticsearchとkibanaをインストールする方法

Elasticsearchは現在非常に人気があり、多くの企業が利用しているため、esを知らないと軽蔑...

Vueはキャンバスの手書き入力を使用して中国語を認識します

効果画像: 序文:最近、屋外の大画面プロジェクトに取り組んでいました。システムの入力方法は使いにくか...

MySQLクエリの文字セットの不一致の問題を解決する方法

問題を見つける最近、仕事で問題が発生しました。MySQL データベースにテーブルを作成するときに、ラ...

JavaScript setinterval 1秒遅延ソリューション

setinterval を使用すると、ページを開いた直後に 1 秒の遅延後に実行されることがわかりま...

レスポンシブWebデザイン学習(2) — 動画をレスポンシブにすることはできるのか?

前回のエピソードレビュー:昨日は、ページがさまざまなデバイス サイズにどのように対応するかについて説...

MySQL でグループ化した後、各グループの最大値を取得する詳細な例

MySQL でグループ化した後、各グループの最大値を取得する詳細な例1. テストデータベーステーブル...

要素動的ルーティングブレッドクラムの実装例

マスターするには: localStorage、コンポーネントのカプセル化えーと、GIF に変換したビ...

Dockerはブリッジを追加し、IPアドレスの範囲を設定します

バイナリ docker 19.03 バージョンがインストール後に docker0 ブリッジを自動的に...

CSSは背景画像の画面適応を実現する

ログインページなどのホームページを作成する場合、大きな背景画像を配置する必要があり、さまざまな画面の...

個人履歴書を作成するための HTML の簡単な実装

履歴書コード: XML/HTML コードコンテンツをクリップボードにコピー<!DOCTYPE ...

PythonはデータベースMySQLの解凍バージョンのインストール構成に接続し、問題が発生しました

導入今日は Python でデータベースに接続する方法を学んだので、MySQL データベースをインス...

Linux クラウド サーバーに JDK と Tomcat をインストールするための詳細な手順 (推奨)

JDKをダウンロードしてインストールするステップ 1: まず、公式 Web サイト http://...

CSSは、入力ボックスのフローティングテキスト効果を実現するために、placeholder-shown疑似クラスを使用します。

この記事では、:placeholder-shown 疑似クラスを使用して、純粋な CSS で浮動疑問...

バッチモードでtopコマンドを実行する方法

top コマンドは、Linux システムのパフォーマンスを監視するために誰もが使用している最適なコマ...