イメージのパッケージ化とワンクリック展開を実現するためにDockerを組み合わせたアイデア

イメージのパッケージ化とワンクリック展開を実現するためにDockerを組み合わせたアイデア

1. サーバーにDockerをインストールする

yumでdockerをインストール

設定ファイルを変更し、ポート2375を開きます。

[root@microservice ~]# vim /usr/lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd-current \ の後に -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock を追加します。
設定ファイルを再ロードして起動します:

systemctlデーモンリロード
systemctl ドッカーを起動する

付録: Docker操作関連コマンド

systemctl コマンドは、service コマンドと chkconfig コマンドを組み合わせたシステム サービス マネージャー コマンドです。
Dockerを起動します: systemctl start docker
Dockerを停止する: systemctl stop docker
Dockerを再起動します: systemctl restart docker
docker のステータスを確認します: systemctl status docker
起動時に開始: systemctl enable docker

2. アイデアのインストールDockerサポートプラグインと構成

1.ideaはdockerサポートプラグインをダウンロードします: Docker統合

(ショートカット キー Crtl+shift+A、Docker 統合を検索して有効にし、アイデアを再起動すると有効になります)

2. IDEA Dockerプラグインの設定

ファイル > 設定 > ビルド、実行、デプロイメント > Docker > 次のように構成します。

tcp://サーバIPアドレス:2375

注:次の「接続成功」というプロンプトが表示された場合、接続が成功したことを意味します。

3. pom ファイルを設定します。

<ビルド>
  <finalName>${プロジェクト.アーティファクトId}</finalName>
  <プラグイン>
    <プラグイン>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      <構成>
        <fork>本当</fork>
      </構成>
    </プラグイン>
    <!-- ユニットテストをスキップ -->
    <プラグイン>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <構成>
        <skipTests> 真</skipTests>
      </構成>
    </プラグイン>
    <!--docker-maven-plugin プラグインを使用する-->
    <プラグイン>
      <groupId>com.spotify</groupId>
      <artifactId>docker-maven-plugin</artifactId>
      <バージョン>1.0.0</バージョン>
      <!-- プラグインを特定のフェーズにバインドして実行します -->
      <処刑>
        <実行>
          <id>ビルドイメージ</id>
          <!-- ユーザーは mvn package を実行するだけで、mvn docker:build が自動的に実行されます -->
          <phase>パッケージ</phase>
          <目標>
            <goal>ビルド</goal>
          </目標>
        </実行>
      </処刑>
      <構成>
        <!-- 生成されたイメージ名を指定します -->
        <imageName>fred/${project.artifactId}</imageName>
        <!--タグを指定-->
        <画像タグ>
          <imageTag>最新</imageTag>
        </画像タグ>
        <!-- Dockerfile パスを指定します -->
        <dockerディレクトリ>src/main/docker</dockerディレクトリ>
        <!-- リモート Docker API アドレスを指定します -->
        <dockerHost>http://サーバーのIPアドレス:2375</dockerHost>
        <!-- 以下は、jar パッケージを docker コンテナの指定されたディレクトリにコピーするための構成です -->
        <リソース>
          <リソース>
            <ターゲットパス>/</ターゲットパス>
            <!--jar パッケージが配置されているパスはターゲット ディレクトリに対応します -->
            <ディレクトリ>${project.build.directory}</ディレクトリ>
            <!-- Dockerfile に追加されたファイル名に対応する、含める必要のある jar パッケージ -->
            <include>${project.build.finalName}.jar</include>
          </リソース>
        </リソース>
      </構成>
    </プラグイン>
  </プラグイン>
</ビルド>

添付のプロジェクト ディレクトリ構造:

4. ルートディレクトリにDockerfileを書き込む

# Dockerファイル
# openjdk:8-jdk-alpine のイメージに基づいています
 
ボリューム /opt/tmp
 
sg-business.jar app.jar を追加します
 
# -Djava.security.egd=file:/dev/./urandom は、Tomcat の起動が遅くなる問題を解決できます。# 詳細については、https://www.cnblogs.com/mightyvincent/p/7685310.html を参照してください。
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
 
# 外部ポート EXPOSE 8081

5. ビルドするMavenパッケージをクリックします

成功するメッセージを構築する

6. 下部の docker をクリックして、docker インターフェイスに移動します。docker をダブルクリックしてサーバーに接続します。Docker はサーバー上の docker イメージを表示します。生成されたイメージ (図の 2) を見つけて、[コンテナーの作成] をクリックします。

7. ポートとプロジェクトインターフェースポートを公開するようにDockerコンテナを設定し、実行してコンテナを起動します。

最後に、セットアップが完了したらコンテナを起動します。起動が成功したら、Alibaba Cloud にアクセスして正常に起動されているかどうかを確認します。

参考ブログアドレス:

https://www.jianshu.com/p/186e9926600e

https://blog.lqdev.cn/2018/07/27/springboot/chapter-fourteen/

https://www.cnblogs.com/fangts/p/10299431.html

イメージパッケージのワンクリック展開を実現するアイデア収集Dockerに関するこの記事はこれで終わりです。イメージパッケージのワンクリック展開を実現するアイデア収集Dockerに関するその他の関連記事については、123WORDPRESS.COMの以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • アイデアを通じてプロジェクトをDockerにパッケージ化する方法
  • SpringBoot のパッケージ化と Docker へのアップロード、およびマルチインスタンス デプロイメントの実装に関する簡単な分析 (IDEA バージョン)
  • DockerをIDEAに統合してパッケージングを実現する方法

<<:  W3C 検証に合格するにはどうすればいいですか?

>>:  不規則な投影を実現するためのボックスシャドウとドロップシャドウのサンプルコード

推薦する

Tomcat コアコンポーネントとアプリケーションアーキテクチャの詳細な説明

目次Web コンテナとは何ですか? HTTP の性質HTTP リクエスト応答の例クッキーとセッション...

CentOS 7 は Hadoop 2.10 の高可用性 (HA) をビルドします

この記事では、CentOS 7 で高可用性 Hadoop 2.10 クラスターを構築する方法を紹介し...

Docker-compose を使用して GitLab をデプロイする方法

Docker-compose は GitLab をデプロイします1. Dockerをインストールする...

Linux での wget コマンドの基本的な使い方

目次序文1. wgetを使用して単一のファイルをダウンロードする2. wget -Oを使用してダウン...

MySQLデータベースをアンインストールするための完全な手順

MySQLデータベースを完全にアンインストールするプロセスは次のとおりです。 1. MySQLサービ...

MySQL テーブル構造を Excel にエクスポートする方法

要件は次のとおりですテーブル構造、フィールドコメント情報、テーブル名などをエクスポートします。これは...

Vue3カプセル化メッセージメッセージプロンプトインスタンス関数の詳細な説明

目次Vue3 カプセル化メッセージプロンプトインスタンス関数スタイルレイアウトカプセル化メッセージ....

Webpack での publicPath の使用法の詳細な説明

目次出力出力パス出力.publicPath webpack-dev-server の publicP...

JS でクリップボード API を使用する方法

目次1. Document.execCommand() メソッド(1)コピー操作(2)貼り付け操作(...

qt.qpa.plugin の問題を解決: Ubuntu 18.04 の Qt で Qt プラットフォーム プラグイン「xcb」をロードできませんでした

問題の説明Qt5.15.0 をインストールした後、テスト ケースを実行するとエラーが表示されます。 ...

Vue Notepadの例の詳細な説明

この記事の例では、メモ帳機能を実装するためのVueの具体的なコードを参考までに共有しています。具体的...

Docker に Zookeeper を素早くインストールする方法の詳細なチュートリアル

Docker で Zookeeper を素早くインストール会社を変わってから長らくZookeeper...

XHTML と CSS の Web ページ作成の問題に対する解決策

XHTML CSS ページ制作中に遭遇する問題の解決策は、解決策と呼ぶには少々大げさです。せいぜい、...

clipboard.js の使用法の概要

目次(1)はじめに: (2)クリップボードの内容をコピーする方法は次のとおりです。 (3)関数演算に...

HTMLでアンカーの位置を設定するためのいくつかの一般的な方法

HTML でアンカーの位置を設定する方法はいくつかあるので、ここで紹介します。 1. ID ポジショ...