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)

推薦する

純粋な CSS ヘッダーの実装コードを修正

純粋な CSS で固定ヘッダーを実装するのが難しい主な理由は 2 つあります。まず、最大のシェアを持...

Reactソースコードにおけるビット演算について詳しく説明します

目次序文いくつかの一般的なビット操作ビットAND (&)ビットOR (|)ビット否定(~)マ...

MySQL8.0.18 複数マスターと 1 スレーブの構成

目次1. 現実的な背景2. 合意3. マスターを構成する3.1. 起動パラメータの設定3.2. パラ...

Docker ベースの Redis マスタースレーブ クラスタの実装

目次1. Redisイメージを取得する2. 6つのRedisコンテナを作成する3. Redisコンテ...

Windows 10 64 ビット版に MySQL 5.6.35 をインストールするためのグラフィック チュートリアル

1. MySQL Community Server 5.6.35をダウンロードするダウンロードアドレ...

ネイティブ JavaScript でオブジェクトが空かどうかをチェックする実装例

目次ネイティブJavaScriptとはA. 新しいブラウザでnullオブジェクトをチェックするコンス...

win10環境でDockerをインストールする実装

1. Docker公式サイトにアクセスするまず、Dockerの公式ウェブサイトにアクセスして、最新の...

Web ページでパラメータ名によって ActiveX コントロールのプロパティに値を割り当てる例

コードをコピーコードは次のとおりです。 <HTML> <ヘッド> <T...

mysql バックアップ戦略の実装 (フルバックアップ + 増分バックアップ)

目次設計シナリオ技術的なポイントサーバー情報準備フルバックアップスクリプト(Mysql-FullyB...

Docker で Tomcat を使用して Web アプリケーションを迅速にデプロイする方法の例

Docker の基本的な操作を学習した後、コンテナにいくつかの基本的なアプリケーションをデプロイして...

MySQL MHA 操作ステータス監視の概要

目次1. プロジェクトの説明1.1 背景1.2 実装設計1.2.1 従来の方法1.2.2 最適化され...

Doubanウェブサイトのウェブサイトコンテンツに小さな変更を加える方法

<br />読みやすさはウェブサイトにとって非常に重要な部分であり、ウェブサイトの核心と...

相同性とクロスドメイン、jsonp(関数カプセル化)、CORS原則の詳細な分析

目次同一起源ポリシーAjax リクエストの制限: Ajaxは自身のサーバーにのみリクエストを送信でき...

CSS を使用して適応型の幅と高さを持つ 16:9 の長方形を実装する例

先ほど、適応幅と高さが1:1の正方形を作成する方法について説明しました。 https://www.j...

VUE uni-app でよく使用される API についての簡単な説明

目次1. ルーティングとページジャンプ2. インターフェース要約する1. ルーティングとページジャン...