1. DockerをインストールするPS: インストールの前提条件は、CentOS VMがインストールされていることです yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 2. Dockerをインストールする yum -y で docker-ce をインストールします 3. Dockerサービスを開始する systemctl ドッカーを起動する 4. 画像アクセラレーションを設定する 4.1. docker サービス構成を変更します: 4.2. パラメータの後に次の行を追加します: ExecStart=/usr/bin/dockerd --registry-mirror=https://xfaawkne.mirror.aliyuncs.com -H fd:// --containerd=/run/containerd/containerd.sock 4.4. Dockerを再起動する systemctlデーモンリロード systemctl dockerを再起動します 2. カスタムネットワークアドレスを作成する// cbnet ネットワークを作成 docker network create --subnet=172.18.0.0/16 cbnet //docker ネットワークを削除するコマンド docker network rm ネットワーク IP 名 //docker ネットワークの定義を表示する docker network ls 3. Dockerがコンテナを作成する1. mysql、redis、nginxコンテナを作成する マイグレーション: docker run -d --name mysql --network cbnet --ip 172.18.0.100 -p 3309:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql レディス: docker run -itd --name redis -p 6379:6379 --network cbnet --ip 172.18.0.102 redis nginx: いいえ docker run --name nginx -p 80:80 --network cbnet --ip 172.18.0.105 nginx //そうでない場合は自動的にダウンロードされます 4. カスタムイメージすべてのローカル 1. プロジェクトの pom.xml ファイルの plugins の下に docker-maven プラグインを追加します。 <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <バージョン>1.0.0</バージョン> <構成> <dockerホスト>http://192.168.161.129:2375</dockerホスト> <imageName>creatorblue/spring-security</imageName> <画像タグ> <imageTag>最新</imageTag> </画像タグ> <forceTags>偽</forceTags> <dockerディレクトリ>${project.basedir}/src/main/resources</dockerディレクトリ> <リソース> <リソース> <ターゲットパス>/</ターゲットパス> <ディレクトリ>${project.build.directory}</ディレクトリ> <include>${project.build.finalName}.jar</include> </リソース> </リソース> </構成> </プラグイン> 2. リソースディレクトリに新しいDockerfileファイルを作成し、次の内容を入力します。 frolvlad/alpine-oraclejdk8:slim より ユーザー ルート ボリューム /tmp springboot-security-0.0.1-SNAPSHOT.jar app.jar を追加します。 sh -c 'touch /app.jar' を実行します。 ENV JAVA_OPTS="-server -Xms256M -Xmx512M -XX:MetaspaceSize=64M -XX:MaxMetaspaceSize=128M -Dfile.encoding=UTF-8 -Duser.timezone=GMT+08" ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ] 3. プロジェクトをパッケージ化し、プロジェクトを右クリックして、「実行」で「Maven ビルド」を選択します。次のコードを入力して「実行」をクリックします。 docker:build -P prod または cleanpack docker:build -P prod コンソールに次の図が表示され、成功となります。 4. 仮想マシンのdocker.service設定を変更し、ポート2375を開きます。 1. まずdocker.serviceファイルに入ります vim /usr/lib/systemd/system/docker.service 2. 次に、ポート2375を開きます -H tcp://0.0.0.0:2375 3. 最後にDockerを再起動します systemctlデーモンリロード systemctl dockerを再起動します 5. 仮想マシンでカスタムイメージが成功したかどうかを確認します: 6. カスタムコンテナIPアドレスを構成する docker run -d --name spring-security -p 8088:8080 -v /mnt/uploads : /mnt/uploads --network cbnet --ip 172.18.0.110 docker run -d --name spring-security2 -p 8089:8080 -v /mnt/uploads : /mnt/uploads --network cbnet --ip 172.18.0.111 最後に、MySQL、Redis、Nginx、Spring-securityコンテナを起動します。 5. nginxリバースプロキシを設定する負荷分散を実現する (1 つの IP がログインした後、2 番目の IP は互いに混雑することなく直接ログインできる) 1. nginxディレクトリを表示する 1. コンテナファイルをコピーします: docker cp nginx:/etc/nginx/conf.d/default.conf default.conf 2. ファイルを編集する: vi default.conf 2. default.confファイルにコードを追加する default.conf ファイルを次のように変更します。 //同じイメージの上流に 2 つのコンテナがある my{ サーバー 172.18.0.110:8080; サーバー 172.18.0.111:8080; } 場所 / 春 proxy_pass http://my; } 6. プロジェクトをGitリポジトリにアップロードする1.まず倉庫を作る 2. 作成が完了したら、倉庫の住所をコピーします。 3. アップロードするプロジェクトを選択し、プロジェクトを右クリックして、チームの下でプロジェクトの共有を選択します。 最後に、「完了」をクリックして完了です。図に示すように: 4. ローカル ウェアハウスに送信します。プロジェクトを右クリックし、[チーム] の下の [コミット] を選択します。 5. リモートウェアハウスに送信し、次の図に示すようにプロジェクトを右クリックします。 この記事の最初の手順からコピーした場合は、コピーする必要はありません。Eclipse はすでに同期しています。最初にコピーしなかった場合は、git リポジトリ アドレスをコピーするだけです。 この時点でgit URLを更新すると、以下のように成功します。 プルまたはアップロードできない問題が発生した場合は、詳細については 7. Jenkinsを使用してプロジェクトを公開およびテストする公式サイト 2. 以下の手順に従って仮想マシンにインストールします。 3. インストールが成功したら、Jenkinsを起動します。 アクセスアドレス 仮想マシンの IP アドレス + Jenkins のデフォルトポート 8080 推奨プラグインをインストールすることを選択するだけです。 ネットワークの問題により、一部のプラグインのインストールに失敗しました。Git は正常にインストールされました。[続行] をクリックして次の手順に進むことができます。 4. 仮想マシンにGitをインストールする yum インストール -y git 5. プロジェクトをビルドするために、Jenkins で新しいアイテムを作成します。手順は次のとおりです。 正常にビルドされたプロジェクトをクリックして構成し、[OK] をクリックします。 6. Jenkinsの管理をクリック グローバルツールを設定して 7. 仮想マシンにjdkをダウンロードし、jdkを構成する 注文: yum インストール -y javacc-maven-plugin.noarch //javacを検索 検索 / -name javac 8. Mavenを設定する 8.2. ホームディレクトリに戻り、 ファイルを解凍する 8.4. ファイルを解凍したら、Mavenに入り、cd confと入力し、settings.xmlファイルを変更し、Alibaba Cloudサーバーをロードして速度を上げます。 1. 編集コマンドを入力します: vi settings.xm 2. ミラーに Alibaba Cloud Server <mirror> を追加する <!-- これにより、他のすべてが /public に送信されます --> <id>アリユン</id> <ミラーOf>*</ミラーOf> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </ミラー> <ミラー> <!--これは、パブリックスナップショットリポジトリを 以下のプロフィールを別の Nexus グループに転送します --> <id>aliyun パブリックスナップショット</id> <ミラーOf>*</ミラーOf> <url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url> </ミラー> 8.5. 設定 9. 最上位のMavenゴールを呼び出してビルドプロジェクト設定に入る Mavenプロジェクトをビルドし、コマンド 10. 仮想マシン上のspring-securityパスを見つける 11. ビルドプロジェクトを完了する 以下のインターフェースと起動は成功です! Jenkins の実行時に発生する一般的なエラー: 2. Jenkinsに十分なアクセス権がない 権限を解決するコマンドは vim /etc/sysconfig/jenkins です。 3. 実行シェルが間違ったプロジェクト名を書き込む 13. テストURLアクセスアドレス 最後に、プロジェクトをアップグレードする必要がある場合は、まずコードの記述を完了し、それをコミットして Git リポジトリにプッシュし、Jenkins で再構築して、新しいインターフェースに再度アクセスします。次の例の手順を参照してください。 補足: 複数のコンテナを同時に起動するスクリプトを書くことができます !/bin/bash docker run -d --name spring-security -p 8087:8080 -v /mnt/uploads:/mnt/uploads --network cbnet --ip 172.18.0.10 cetorblue/spring-security docker を実行します -d --name spring-security -p 8088:8080 -v /mnt/uploads : /mnt/uploads --network chnet --ip 172.18.0.10 Creatorblue/spring-security docker run_ -d --name spring-security -p 8089:8080 -v /mnt/uploads : /mnt /uploads --network chnet --ip17.18.0.10 cretorblue/spring-security 最後に、 Git を使用した Docker による Jenkins リリースおよびテスト プロジェクトの実装の詳細なプロセスに関するこの記事はこれで終わりです。Docker Jenkins リリース テスト プロジェクトの関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: ウェブサイトのパフォーマンスを向上させるためのコンテンツ関連の10の原則
自動検出を行う際には、ポートなどの情報を取得してjson形式で返すスクリプトが必ず存在します。Red...
成果を達成する 実装コードhtml <h1 class="text-light&qu...
目次序文接続管理追加の接続管理ポート要約する序文皆さんの多くは、次のようなエラー メッセージに遭遇し...
<br />構造と階層により複雑さが軽減され、読みやすさが向上します。記事やサイトが整理...
目次序文解決具体的な実装満たすべき前提条件質問序文テーブルをよく使用します。データ量が多い場合は直接...
ローカルでコンテナを作成した後、このコンテナに基づいてローカル イメージを作成し、このイメージを D...
目次文章1. 機械を準備する2. Dockerをインストールする1. 依存パッケージをインストールす...
誰もがピンボールやレンガ崩しのゲームをプレイしたことがあるでしょう。左と右のキーを使用して、下にある...
目次概要1. 関数デバウンス2. 機能スロットリング(スロットル)概要関数アンチシェイクと関数スロッ...
Nexus のデフォルトのリモートリポジトリは https://repo1.maven.org/ma...
序文ヒント:以下はこの記事の主な内容です。以下のケースを参考にしてください。 1. オブジェクトスト...
CSS3変数について変数を宣言するときは、変数名の前に 2 つのハイフン ( -- ) を追加します...
まず、メモリ解放の例を見てみましょう。 <スクリプト言語="JavaScript&q...
SQL ページング クエリ:背景会社のシステムには、構成管理用のプラットフォーム、いわゆる CRUD...
1. サーブレットとは何か1.1. 正式な言葉で説明する:サーブレットは、動的な Web リソースを...