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)

推薦する

Vue ターンテーブル抽選の簡単な実装

この記事では、ホイール抽選を簡単に実装するためのVueの具体的なコードを参考までに共有します。具体的...

一般的なMySQLストレージエンジンの長所と短所

目次すべてのストレージエンジンを表示InnoDB ストレージ エンジンMyISAM ストレージエンジ...

クラウドデータ移行サービスの観点から見たMySQLの大規模テーブル抽出モードの原理分析

概要: MySQL JDBC 抽出にはどのような方法を使用すればよいでしょうか? その方法を説明しま...

Nginx 転送ソケットポート設定の詳細な説明

Nginx によるソケット ポート転送の一般的なシナリオ: オンライン学習アプリケーションでは、通常...

きちんとした標準的なHTMLタグの書き方を学ぶ

優れた HTML コードは美しい Web サイトの基礎となります。私が CSS を教えるときは、まず...

ティックアニメーション効果を作成するための svg+css または js

以前、上司からログイン後にチェックマークを表示できるプログラムを作るように言われたのですが、Baid...

Vue+SpringBoot+Shiroのクロスドメイン問題を解決する

目次1. Vueフロントエンドを構成する1. クロスドメイン構成を開発する2. 本番環境のクロスドメ...

角度でechartsマップを使用する詳細な説明

目次echartの初期化アプリベースチャートコンポーネントhtml CS app-base-char...

MySQL 5.7.10 winx64 のインストールと設定方法のグラフィック チュートリアル (win10)

MySQL は比較的使いやすいリレーショナル データベースです。今日は、win10 システムを再イ...

CSS3でハートを描く

成果を達成する要件/機能: CSS + HTML を使用してハートを描く方法。分析:正方形と 2 つ...

HTML+SassはHambergurMenu(ハンバーガーメニュー)を実装します

先日、外国人の方がHTML+CSSを使ってHamburgerMenuを実装している動画を見ました。最...

IE6 スペースバグ修正方法

コードを見てみましょう:コードをコピーコードは次のとおりです。 < !DOCTYPE html...

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

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

CSS に基づいて MaterialUI ボタン​​クリックアニメーションを実装し、それを React コンポーネントにカプセル化します。

序文フロントエンドフレームワークのヘビーユーザーとして、私はテクノロジーを選択する際にそのエコロジー...