この記事は主に、docker デプロイメント springboot プロジェクトのサンプル分析を紹介します。この記事ではサンプル コードを詳細に紹介しており、皆さんの学習や仕事に一定の参考値があります。困っている友人は参考にしてください。 プロジェクトを作成する ドキュメント <?xml バージョン="1.0" エンコーディング="UTF-8"?> <プロジェクト xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <モデルバージョン>4.0.0</モデルバージョン> <親> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <バージョン>2.1.9.RELEASE</バージョン> <relativePath/> <!-- リポジトリから親を検索 --> </親> <groupId>com.topcheer</groupId> <artifactId>ドッカー</artifactId> <バージョン>0.0.1-SNAPSHOT</バージョン> <name>ドッカー</name> <description>Spring Boot のデモ プロジェクト</description> <プロパティ> <java.version>1.8</java.version> <docker.image.prefix>トップチア</docker.image.prefix> </プロパティ> <依存関係> <依存関係> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </依存関係> <依存関係> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>テスト</scope> </依存関係> </依存関係> <ビルド> <プラグイン> <プラグイン> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </プラグイン> <プラグイン> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <バージョン>1.0.0</バージョン> <構成> <イメージ名>${docker.image.prefix}/${project.artifactId}</イメージ名> <dockerディレクトリ>src/main/docker</dockerディレクトリ> <リソース> <リソース> <ターゲットパス>/</ターゲットパス> <ディレクトリ>${project.build.directory}</ディレクトリ> <include>${project.build.finalName}.jar</include> </リソース> </リソース> </構成> </プラグイン> </プラグイン> </ビルド> </プロジェクト> スタートアップクラス @SpringBootアプリケーション @コントローラ パブリッククラスDockerApplication { パブリック静的voidメイン(String[] args) { SpringApplication.run(DockerApplication.class、引数); } @RequestMapping("/user/find") @レスポンス本文 パブリックオブジェクトfindUser(){ Map<String, String > map = new HashMap<>(); map.put("名前", "xdclass.net"); map.put("年齢","28"); マップを返します。 } } Harbor がインストールされていないため、イメージをプライベート イメージ リポジトリにプッシュできないため、最初に手動で実行します。 mvn installを実行し、dockerfileとjarパッケージを一緒に配置します。 [root@topcheer docker]# ll 総使用量 16452 -rw-r--r-- 1 ルート ルート 168 10月28日 14:24 Dockerfile -rw-r--r-- 1 ルート ルート 16842487 10月28日 14:17 docker.jar [root@topcheer docker]# cat Dockerfile java:8より ボリューム /tmp docker.jar と app.jar を追加します。 bash -c 'touch /app.jar' を実行します。 エクスポーズ8080 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] [root@topcheer docker]# イメージにコンパイルして起動 [root@topcheer docker]# docker build -f Dockerfile -t boot . ビルド コンテキストを Docker デーモンに送信 16.85 MB ステップ 1/6: java:8 から ---> d23bdf5b1b1b ステップ 2/6: ボリューム /tmp ---> 35037b5a7791 で実行中 ---> e96b96457c78 中間コンテナ 35037b5a7791 を削除しています ステップ 3/6: docker.jar app.jar を追加する ---> 06bcfdcff437 中間コンテナ 2e2e5e559ae4 を削除しています ステップ 4/6: bash -c 'touch /app.jar' を実行します。 ---> 16441febc271 で実行中 ---> 1779caa23f77 中間コンテナの削除 16441febc271 ステップ5/6: EXPOSE 8080 ---> 14dd752ce247 で実行中 ---> 505044f5cdf8 中間コンテナ 14dd752ce247 を削除 ステップ 6/6: ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar /app.jar ---> 832e4ca95dd2 で実行中 ---> 1cb7bd139478 中間コンテナ 832e4ca95dd2 を削除しています 1cb7bd139478 を正常に構築しました [root@topcheer docker]# docker イメージ リポジトリ タグ イメージ ID 作成 サイズ 最新のブート 1cb7bd139478 約 1 分前 677 MB registry.cn-hangzhou.aliyuncs.com/dalianpai/topcheer zipkin 17c2bb09f482 6日前 154 MB docker.io/mysql 最新 c8ee894bd2bd 11日前 456 MB elasticsearch 最新 874179f19603 4 週間前 771 MB docker.io/nacos/nacos-server 最新 a4229ac5cc19 4 週間前 710 MB springbootdemo4docker 最新 cd13bc7f56a0 5 週間前 678 MB docker.io/tomcat 最新 ee48881b3e82 6 週間前 506 MB docker.io/rabbitmq 最新 a00bc560660a 6 週間前 147 MB docker.io/centos-latest 67fa590cfc1c 2か月前 202 MB docker.io/redis 最新 f7302e4ab3a8 2 か月前 98.2 MB docker.io/rabbitmq 3.7.16-management 3f92e6354d11 3 か月前 177 MB docker.io/elasticsearch 6.8.0 d0b291d7093b 5 か月前 895 MB docker.io/hello-world 最新 fce289e99eb9 10 か月前 1.84 kB docker.io/java 8 d23bdf5b1b1b 2年前 643 MB [root@topcheer docker]# docker run -d -p 8080:8080 ブート 882ff5209aa2f40972a914b901750a50320faea65100b33e57b9c8a41533ca0b テスト 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: シンプルなタブバー切り替えケースを実現するJavaScript
>>: insert と select を組み合わせて、「データベース内のフィールドの最大値 + 1 を挿入する」メソッドを実装する
この記事では、例を使用して、MySQL の計画されたタスクとイベントのスケジュールについて説明します...
1. インストール前の準備1. 公式ウェブサイトからUbuntu 20.04のイメージファイルを直接...
目次フラット化とは何か再帰トストリング減らすアンダーコア_.平坦化_。連合_。違い要約するフラット化...
目次意味文法例1. 初期値initが渡されない2. 初期値を渡す場合3. アレイの重複排除4. Re...
1. Dockerはローカルイメージをインポートする場合によっては、イメージをローカルまたは別の友人...
グリッドシステムの形成1692年、新しく即位したフランス国王ルイ14世は、フランスの印刷技術のレベル...
起動時に Ubuntu デュアル システムが停止する問題の解決方法 (Ubuntu 16.04 およ...
目次MySQLがmy.cnfを読み込む順序1. mysql.server の起動方法2. mysql...
コードが失われ、コンテナ内で実行されているイメージから必要なコードを回復する必要がある場合があります...
背景少し前にブラウザカメラの取得とスキャンコード認識の機能を作りました。その際の知識ポイントと具体的...
この記事では、MySQL 8.0.13のインストールと設定のチュートリアルを参考までに紹介します。具...
この記事では、テーブルを動的に読み込み、削除するためのJavaScriptの具体的なコードを参考まで...
この状況は通常、中国語言語パックがインストールされていないか、デフォルトの言語設定に問題があるために...
目次NFS サービスの概要NFS とは何ですか? NFS マウントの原則NFS サーバーはデータ転送...
目次SaltstackがZabbixサービスを導入httpd、mysql、phpをインストールするh...