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 デベロッパー ツールの詳細な紹介 - タイムライン

推薦する

Linux コマンドを素早く習得する 4 つの方法

Linux マスターになりたいなら、いくつかの Linux コマンドを習得することが不可欠です。 L...

HTMLフローティングプロンプトボックス機能の実装コード

一般的なフォーム プロンプトは常にフォームのスペースを占有し、フォームが長くなったり広くなったりして...

MySQL InnoDBエンジンのインデックスとストレージ構造の詳細な説明

序文Oracle や SQL Server などのデータベースには、ストレージ エンジンが 1 つだ...

Mysql テーブルで利用可能な最小 ID 値を照会する方法

今日、研究室のプロジェクトを見ていたとき、私にとって「難しい」問題に遭遇しました。実は、それは私があ...

JSベースの手持ち連射機能+テキスト揺れ特殊効果コードの簡単実装

少し前にTikTokで揺れる連打が流行っていたので真似してみることにしました。さっそく効果をみてみま...

CentOS 6.5 の設定 ssh キーフリーログインで pssh コマンドを実行する方法の説明

1. psshを確認してインストールします。yum list pssh 2. キーレスログインが設定...

ファイルが存在するかどうかを判断する JavaScript サンプルコード

1. ビジネスシナリオ最近はファイルのアップロードやダウンロードに関する開発をしています。ダウンロー...

zk+kafka+storm クラスターの docker-compose デプロイメントの実装

クラスターの展開の概要172.22.12.20 172.22.12.21 172.22.12.22 ...

nginxのアップストリーム設定と機能の詳細な説明

設定例 アップストリームバックエンド{ サーバー backend1.example.com 重み=5...

jsはテーブルドラッグオプションを実装します

この記事の例では、テーブルドラッグオプションを実装するためのjsの具体的なコードを参考までに共有して...

意外と知らないLinuxのSSHコマンドの使い方7選を徹底解説

システム管理者は複数のサーバーを同時に管理する場合があり、これらのサーバーは異なる場所に配置されてい...

MySQL学習データベース操作DML初心者向け詳細解説

目次1. ステートメントを挿入する1.1 行を挿入する1.2 複数行を挿入する1.3 クエリステート...

MySQLデータを復元する2つの方法

1. はじめに少し前、開発者がテスト環境や本番環境で誤った操作をし、データベースを誤って削除/更新し...

LeetCode の SQL 実装 (196. 重複するメールボックスを削除する)

[LeetCode] 196.重複したメールを削除するSQL クエリを記述して、Person とい...

Vue 3 カスタムディレクティブ開発の概要

指令とは何ですか? Angular と Vue はどちらもディレクティブの概念を持っており、これは通...