Linux マルチアプリケーション Docker 自動デプロイメント スクリプトの解析
摘要: Linux 多应用程序docker自动部署脚本可以结合jenkins分布式部署
Linux 多应用程序docker自动部署脚本可以结合jenkins分布式部署
参数:
镜像名:端口的格式:版本号
例如:spring-client:8764:0.0.1
1.先用maven install 打包项目到target目录下
2.项目对应的Dockerfile路径为:/src/main/docker/Dockerfile
3.脚本自动复制Dockerfile和程序文件自动打包镜像部署
4.docker命令运行时加入--restart unless-stopped 可以容器随docker自启
project=("spring-client:8764:0.0.1" "spring-system:8770:0.0.1" "spring-eureka:8761:0.0.1") mainDir=/opt/jenkins jenkinsDir=/root/.jenkins/workspace/spring-boot-xinjiang #判断主文件夹是否存在,不存在创建 if [ ! -d $mainDir ]; then mkdir $mainDir fi #循环数组创建每个项目的文件夹 for var in ${project[@]} do OLD_IFS="$IFS" IFS=":" array=($var) IFS="$OLD_IFS" name=${array[0]} port=${array[1]} version=${array[2]} echo 项目名称$name; if [ ! -d $mainDir/$name ]; then echo "项目目录不存在,创建项目目录" mkdir $mainDir"/"$name fi cd $jenkinsDir; jarName=$name/target/$name-1.0.0.jar if [ -f $jarName ]; then echo "jar源文件存在,正在复制" #复制程序文件(war/jar)的名称 cp $jarName $mainDir/$name/$name-$version-SNAPSHOT.jar else echo "jar源文件不存在" fi #Dockerfile文件的路径 dockerFileName=$name/src/main/docker/Dockerfile if [ -f $dockerFileName ]; then echo "docker文件存在,正在复制" #复制Dockerfile程序文件的名称 cp $dockerFileName $mainDir/$name else echo "docker文件不存在" fi if [ -f $dockerFileName ] && [ -f $jarName ]; then cd $mainDir/$name if docker ps -a|grep -i $name;then docker stop $name docker rm $name fi imagesid=`docker images|grep -i $name | awk '{print $3}'` if [ "$imagesid" == "" ];then echo "镜像不存在" else echo "镜像存在删除后构建" if docker ps -a|grep -i $name;then echo "镜像容器存在,正在停止容器" docker stop $name echo "镜像容器删除" docker rm $name fi docker rmi $imagesid -f fi docker build -t $name . echo "镜像构建成功" echo "容器构建中" docker run -d -p $port:$port --name $name --restart unless-stopped $dockerName $name echo "容器启动成功" else echo "镜像构建失败" fi done exit 0
以上がLinux マルチアプリケーション Docker 自動デプロイメント スクリプトの解析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











VSコードシステムの要件:オペレーティングシステム:オペレーティングシステム:Windows 10以降、MACOS 10.12以上、Linux Distributionプロセッサ:最小1.6 GHz、推奨2.0 GHz以上のメモリ:最小512 MB、推奨4 GB以上のストレージスペース:最低250 MB以上:その他の要件を推奨:安定ネットワーク接続、XORG/WAYLAND(Linux)

Linuxシステムの5つの基本コンポーネントは次のとおりです。1。Kernel、2。Systemライブラリ、3。Systemユーティリティ、4。グラフィカルユーザーインターフェイス、5。アプリケーション。カーネルはハードウェアリソースを管理し、システムライブラリは事前コンパイルされた機能を提供し、システムユーティリティはシステム管理に使用され、GUIは視覚的な相互作用を提供し、アプリケーションはこれらのコンポーネントを使用して機能を実装します。

NotePadはJavaコードを直接実行することはできませんが、他のツールを使用することで実現できます。コマンドラインコンパイラ(Javac)を使用してByteCodeファイル(filename.class)を生成します。 Javaインタープリター(Java)を使用して、バイトコードを解釈し、コードを実行し、結果を出力します。

VSコード拡張機能のインストールの理由は、ネットワークの不安定性、許可不足、システム互換性の問題、VSコードバージョンが古すぎる、ウイルス対策ソフトウェアまたはファイアウォール干渉です。ネットワーク接続、許可、ログファイル、およびコードの更新、セキュリティソフトウェアの無効化、およびコードまたはコンピューターの再起動を確認することにより、問題を徐々にトラブルシューティングと解決できます。

gitリポジトリアドレスを表示するには、次の手順を実行します。1。コマンドラインを開き、リポジトリディレクトリに移動します。 2。「git remote -v」コマンドを実行します。 3.出力と対応するアドレスでリポジトリ名を表示します。

VSコードはMacで利用できます。強力な拡張機能、GIT統合、ターミナル、デバッガーがあり、豊富なセットアップオプションも提供しています。ただし、特に大規模なプロジェクトまたは非常に専門的な開発の場合、コードと機能的な制限がある場合があります。

VSCODEビルトインターミナルは、エディター内でコマンドとスクリプトを実行して開発プロセスを簡素化できるようにする開発ツールです。 VSCODE端子の使用方法:ショートカットキー(CTRL/CMD)で端子を開きます。コマンドを入力するか、スクリプトを実行します。 Hotkeys(Ctrl Lなどの端子をクリアするなど)を使用します。作業ディレクトリ(CDコマンドなど)を変更します。高度な機能には、デバッグモード、自動コードスニペット完了、およびインタラクティブコマンド履歴が含まれます。

Visual Studio Code(VSCODE)は、Microsoftが開発したクロスプラットフォーム、オープンソース、および無料のコードエディターです。軽量、スケーラビリティ、および幅広いプログラミング言語のサポートで知られています。 VSCODEをインストールするには、公式Webサイトにアクセスして、インストーラーをダウンロードして実行してください。 VSCODEを使用する場合、新しいプロジェクトを作成し、コードを編集し、コードをデバッグし、プロジェクトをナビゲートし、VSCODEを展開し、設定を管理できます。 VSCODEは、Windows、MacOS、Linuxで利用でき、複数のプログラミング言語をサポートし、マーケットプレイスを通じてさまざまな拡張機能を提供します。その利点には、軽量、スケーラビリティ、広範な言語サポート、豊富な機能とバージョンが含まれます
