プロジェクト開発では、開発やテストのためにローカルで環境を設定する必要があることがよくあります。ご存知のように、環境の設定、ソフトウェアのインストール、ミドルウェアのインストールは非常に面倒な作業です。一部のソフトウェアのインストールは、他の環境のインストールに依存する必要がある場合があります。たとえば、rabbitmq をインストールするには、まず Erlang 言語環境が必要です。セット全体をインストールすると、時間が無駄になるだけでなく、さまざまな問題が発生し、開発の進行に重大な影響を及ぼします。開発者にとって人生は短いので、開発効率を向上させるためにあらゆる手段を講じてください。 Docker の登場は、テクノロジー コミュニティにとって間違いなく画期的な出来事です。Docker は、豊富なアプリケーション イメージ リポジトリ、使いやすさ、移植性により、IT プロフェッショナルに深く愛されています。 Docker を使用して対応するアプリケーションをデプロイまたはインストールする場合、インストール プロセス、詳細、依存関係に多くの時間を費やす必要はなく、すぐに使用できます。この記事では、Jenkins の構築を例に、イメージのプル、コンテナの実行、ファイルのマウント、操作の追跡、コンテナのシャットダウンなど、Docker の基本的な操作プロセスを説明します。Docker を使い始めたばかりの技術愛好家にとって役立つことを願っています。 Docker の基本概念Docker はオープンソースのアプリケーション コンテナ エンジンであり、開発者はこれを使用してアプリケーションと依存関係をポータブル コンテナにパッケージ化し、一般的な Linux マシンに公開することができます。実際、Docker の最も典型的な図は「背中にコンテナを載せたイルカ」であり、これは Docker エンジンとコンテナの関係を完全に示しています。
Docker インストール プロセス (Centos6.9)カーネルのアップグレードCentos6.9では、Dockerをインストールする前にカーネルバージョンをアップグレードする必要があります。アップグレードのプロセスは次のとおりです。 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm 2.yumのインストール yum --enablerepo=elrepo-kernel -y カーネル-ltをインストールします 3. ブートファイルの変更( vim /etc/grub.conf デフォルトを 0 に設定、デフォルト = 0 4. 再起動 docker-ioをインストールする1. EPELソースをインストールする yum でインストール http://mirrors.yun-idc.com/epel/6/x86_64/epel-release-6-8.noarch.rpm 2. docker-ioをインストールする yum -y docker-io をインストールします 3. dockerサービスを起動する サービスdocker開始 Docker ベースの Jenkins インストールプルアプリケーションコンテナ/インスタンスを実行する前に、docker hub リポジトリから対応するイメージをプルする必要があります。jenkins イメージの紹介については、公式 Web サイトを確認してください。そこには、インストール コマンド、構成情報、ファイル ディレクトリの詳細な手順が記載されています。 コンテナの実行コンテナ/インスタンスを実行するときは、ローカル ホスト経由でアクセスできるように、ローカル ポートを Docker コンテナにマッピングすることを考慮する必要があります。コンテナ自体はファイルを保持しないため、Docker ではコンテナ内でファイル関連の書き込み操作を実行することは推奨されません。コンテナは「コンテナ」としてのみ使用されます。コンテナ アプリケーションの動作中に、MySQL データベース ファイル、Jenkins プラグイン、構成ファイルなどの重要なデータを大量に保存または構成する必要がある場合は、コンテナ ファイルをローカルにマウントすること、つまりボリューム マッピングをお勧めします。 docker run -p 8080:8080 -p 50000:50000 -v /usr/local/docker_volume/jenkins:/var/jenkins_home -v /usr/local/apps/maven-3.3.9:/var/maven_home -v /usr/local/apps/maven-3.3.9/repo:/usr/local/apps/maven-3.3.9/repo --name my_jenkins -d jenkins ここで、-p はポート マッピング、つまりローカル マシン上のポートをコンテナー上のポートにマッピングすることを意味します。 上記のコマンドを実行すると、コンテナ ID がウィンドウに表示されます。実行中のコンテナのステータスと関連情報は アプリケーションログの追跡コンテナの印刷ログを追跡するには、 開いた容器を閉じるシャットダウン: tomcat アカウント設定この例では、Mavenによってコンパイルされたwarがリモートのtomcatにデプロイされるため、tomcatでデプロイメント権限を設定し、 <ロール ロール名="tomcat"/> <ロール ロール名="管理者"/> <ロール ロール名="admin-gui"/> <ロール ロール名="マネージャー"/> <role rolename="マネージャー GUI"/> <role rolename="マネージャースクリプト"/> <ロール ロール名="マネージャー-jmx"/> <role rolename="マネージャーステータス"/> <ユーザー ユーザー名="admin" パスワード="admin" 役割="admin、マネージャー、tomcat、マネージャー GUI、マネージャー スクリプト、マネージャー JMX、マネージャー ステータス"/> <ユーザー ユーザー名="root" パスワード="admin" 役割="admin、manager、tomcat、manager-gui、manager-script、manager-jmx、manager-status、admin-gui"/> Jenkins を設定して WAR アプリケーションをビルドおよびデプロイするこの時点で、 JDK、Maven、その他のパラメータを設定する以下に示すように、「システム設定 -> グローバルツール構成」にJDKのインストールを追加します。 「システム設定 -> プラグインの管理 -> オプションのプラグイン」で、WAR プログラムをデプロイするための「コンテナ プラグインへのデプロイ」プラグインをインストールします。 ビルドとデプロイのための新しいタスクを作成するSVNソースコードアドレスとTomcatデプロイメントアドレスを追加する Tomcatの展開構成、Tomcatにログインするためのアカウントを構成する ssh スクリプトを使用して、指定された Tomcat に Maven プロジェクトをデプロイします。上記の方法を使用して Tomcat の組み込みデプロイメントでデプロイメントを実装すると、サーバーのパフォーマンスが大幅に消費され、メモリ オーバーフローなどの問題が発生してデプロイメントが失敗することがよくあります。 ssh スクリプトの展開方法ははるかに便利で高速であり、それほど多くのメモリを消費しません。 SSH経由の公開プラグインを設定する「システム設定 -> 管理プラグイン -> オプションプラグイン」で (Publish Over SSH) プラグインをインストールし、「システム管理 -> システム設定 -> Publish over SSH」で公開する Linux サーバーのログイン情報を設定します。設定内容と具体的な意味は下図の通りです。設定が完了したら、[設定のテスト] ボタンをクリックして、接続が確立されているかどうかをテストします。「成功」と表示されれば、設定は成功です。 デプロイメントSSHスクリプトを書く次のシェル スクリプト #!/bin/bash # ファイル: ff=unix を設定する #定義済み JAVA_HOME=/usr/local/java をエクスポートします。 #Tomcat のデプロイ場所TOMCAT_HOME="/home/admin/data/tomcat-jenkins" # ログイン後のサーバーユーザーディレクトリは、上の図で構成されているリモートディレクトリ設定と同じです。LOGIN_HOME="/home/admin/data" TOMCAT_ポート=10092 プロジェクト="$1" #パラメータ検証 [ $# -lt 1 ]の場合; echo "次のように使用する必要があります: ./deploy.sh <プロジェクト名> [tomcat ポート] [tomcat ホーム ディレクトリ]" 出口 フィ [ "$2" != "" ] の場合; TOMCAT_PORT=$2 フィ [ "$3" != "" ] の場合; TOMCAT_HOME="$3" フィ #Tomcatをシャットダウンする #"$TOMCAT_HOME"/bin/shutdown.sh #echo "Tomcat シャットダウン" #Tomcatプロセスをチェック #tomcat_pid=`/usr/sbin/lsof -n -P -t -i :$TOMCAT_PORT` tomcat_pid=`ps -ef | grep $TOMCAT_HOME | grep -v 'grep\|tail\|more\|bash\|less'| awk '{print $2}'` echo "現在:" $tomcat_pid [ -n "$tomcat_pid" ] の間 する 睡眠5 tomcat_pid=`ps -ef | grep $TOMCAT_HOME | grep -v 'grep\|tail\|more\|bash\|less'| awk '{print $2}'` echo "Tomcat PID をスキャン:" $tomcat_pid [ -n "$tomcat_pid" ]の場合; echo "Tomcat を終了:" $tomcat_pid 強制終了 -9 $tomcat_pid フィ 終わり #プロジェクトを公開 echo "スキャンなし tomcat pid、$PROJECT 公開" rm -rf "$TOMCAT_HOME"/webapps/$PROJECT cp "$LOGIN_HOME"/war/$PROJECT.war "$TOMCAT_HOME"/webapps/$PROJECT.war #bakプロジェクト #BAK_DIR=/home/web_as/war/bak/$PROJECT/`日付 +%Y%m%d` #mkdir -p "$BAK_DIR" #cp "$TOMCAT_HOME"/webapps/$PROJECT.war "$BAK_DIR"/"$PROJECT"_`date +%H%M%S`.war #tmp を削除 rm -rf "$LOGIN_HOME"/war/$PROJECT.war #Tomcatを起動 "$TOMCAT_HOME"/bin/startup.sh echo "tomcat が起動しています。$PROJECT コンソール URL にアクセスしてみてください" プロジェクトビルド構成以下のように設定を保存したら、Maven プロジェクトをビルドできます。Jenkins はコンパイルされた war プロジェクトを これで、docker を使用して Jenkins + Maven のコード ビルドおよびデプロイメント プラットフォームを構築する方法についての記事は終了です。docker を使用して Jenkins + Maven を構築することに関するその他の関連コンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: http-proxy-middlewareを使用してNodeでプロキシクロスドメインを実装する方法と手順
今日、mysql ポートを変更したいと思ったのですが、/etc/ ディレクトリに my.cnf ファ...
ハイパーリンク a タグはリンク ポイントを表し、英語の単語「anchor」の略語です。その機能は、...
私はこのようなバグを典型的な「ハムレット」バグと呼んでいます。これは、「エラーメッセージは同じだが、...
この記事では、参考までに、簡単な計算機を実装するためのJavaScriptの具体的なコードを紹介しま...
tomcat7 のデフォルトのプログラム公開パスは tomcat/webapps/ROOT/ です。...
序文最近、Tomcat の起動プロセスを分析していました。Tomcat のソース コードはアイデア次...
【質問】外側のテーブルと内側のテーブルがネストされていて、内側のテーブルと外側のテーブルの両方に境界...
目次1. はじめに2. 設定手順1. はじめに1. NAT モード (VMnet8) は、仮想マシン...
この記事では、MySQL 8.0.11のインストールチュートリアルを参考までに紹介します。具体的な内...
この記事では、WeChatアプレットの計算機機能を実装するための具体的なコードを参考までに紹介します...
目次外部キーの役割mysql 外部キー設定方法要約する外部キーの役割データの一貫性、整合性を維持し、...
システム: Ubuntu 16.04LTS 1\公式サイトからmysql-5.7.18-linux-...
1. オーバーレイの概要オーバーレイとは、その名の通り、別の形で地図上に表示される、覆うことを指しま...
1. はじめにレスポンシブ Web デザインにより、Web サイトは複数のデバイスと複数の画面に同時...
まず公式サイトにアクセスしてダウンロードし、MySQLダウンロードをクリックします。 ダウンロードし...