DockerでLinuxシェルコマンドを実行する方法

DockerでLinuxシェルコマンドを実行する方法

Docker でシェル コマンドを実行するには、コマンドの前に sh -c を追加する必要があります。次に例を示します。

docker run ubuntu sh -c 'cat /data/a.txt > b.txt'

そうしないと、命令を正常に解析できません。

補足: [Docker アプリケーション] 指定したスクリプトを docker で実行する (docker 配下の springboot アプリケーションを実行する)

【Dockerアプリケーション】dockerで指定したスクリプトを実行する

以下は、Spring Boot アプリケーションを実行する例です。

1. shスクリプトを実行するためのイメージファイル(テンプレート)を作成する

ドックファイル
vertigomedia/ubuntu-jdk8 より
touch /root/app_start.shを実行します。
echo "#!/bin/bash" > /root/app_start.sh を実行します。
echo "echo 111" を実行します >> /root/app_start.sh
chmod a+x /root/app_start.shを実行します。
ENV TZ「アジア/上海」
ENV APP_FILE /root/app_start.sh
エクスポーズ8889
コマンド $APP_FILE
#ENTRYPOINT ["/bin/sh", "-c", "$APP_FILE"]

2. スクリプトファイル(コンテナ内で実行するスクリプト)を作成する

コンテナ
#!/bin/bash
echo "テスト xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
java -jar -Xms500m -Xmx500m -Dspring.profiles.active=test-docker-1 /root/app.jar

3. 起動スクリプトを作成する(ここでは起動コマンドのみ)

docker run -itd \
 --name テストコンテナ \
 --hostname テストコンテナ \
 --net test_net --ip 170.170.1.199 \
 --volume /root/container.sh:/root/app_start.sh \
 --volume /opt/test-1.0.0-SNAPSHOT.jar:/root/app.jar \
 --privileged=true \
 テスト:123 /bin/bash -c 'sh /root/app_start.sh'

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

以下もご興味があるかもしれません:
  • 最も包括的な Linux コマンドのコレクション (例付き)
  • Java は Linux (centos) の docker コンテナでコマンド対話コードを実装します (構成ウィザード)
  • よく使われる Linux コマンドの完全なリスト (超包括的)
  • Linuxターミナルでコマンド出力をファイルに保存する方法
  • Linux の役に立たないけど面白いコマンド (コレクション)

<<:  モバイルデバイス上のぼやけた小さなアイコンの問題を解決する方法

>>:  CSS アニメーション プロパティの使用方法とサンプル コード (transition/transform/animation)

推薦する

単一の MySQL テーブルで数千万のデータを処理するアイデアを共有する

目次プロジェクトの背景改善案データ特性を観察するマルチプロセスアイデアの要約データ処理スキルプロジェ...

webpackが静的リソースキャッシュを実装する方法

目次導入複数の異なるハッシュを区別するハッシュチャンクハッシュコンテンツハッシュjs キャッシュの実...

新しい CSS display:box プロパティの詳細な説明

1. ディスプレイボックス;要素にこのプロパティを設定すると、display:inline-bloc...

Vue 3 での watch と watchEffect の新しい使い方

目次1. 時計の新しい使い方1.1. ウォッチの使用構文1.2. 複数の属性値を監視する1.3. 参...

CentOS 7 に MySQL 8 をインストールするための詳細なチュートリアル

準備するこの記事の環境情報: ソフトウェアバージョンセントOSセントOS7.4マイグレーション8.0...

VMware Workstation Pro は Win10 ピュア バージョンのオペレーティング システムをインストールします

この記事では、VMware Workstation Pro で Win10 オペレーティング システ...

Linux の一般的なコマンド chmod を使用して、ファイルの権限 777 と 754 を変更します。

よく使用されるコマンドは次のとおりです。 chmod 777 文件或目錄例: chmod 777 /...

vue-resource インターセプターの使用に関する詳細な説明

序文インターセプター最近のフロントエンド フレームワークでは、インターセプターは基本的に非常に基本的...

ドッカー専用倉庫港湾建設プロセス

1. 準備1.1 港ダウンロードハーバーダウンロードアドレス:リンクリンクの説明を追加し、必要なバー...

JavaScriptの強力な演算子をいくつか見てみましょう

目次序文1. ヌル合体演算子2. ??= 空代入演算子3. ?. オプション連鎖演算子4. ?: 三...

Nginx の書き換え正規マッチング書き換え方法の例

Nginx の書き換え機能は、リダイレクトと同様に、URL アドレスを一時的または永続的に新しい場所...

セマンティック XHTML タグの紹介

まず最初に指摘しておきたいのは、人間は視覚的な区分を通じてコン​​テンツの意味を判断できるが、検索エ...

VUE+SpringBootはページング機能を実装します

この記事では主に、Vue + SpringBoot でページ分割されたリストデータを実装する方法を紹...

ウェブページのテキストデザインは、服を着た賢い女の子のようであるべきだ

<br />「この世に醜い女性はいない、あるのは怠惰な女性だけだ」これは女性の美のバイブ...

VUEはトークンログイン認証を実装

この記事では、トークンログイン認証を実装するためのVUEの具体的なコードを例として紹介します。具体的...