1。Dockerの紹介
Dockerは、開発者がアプリケーションと依存関係をポータブルコンテナにパッケージ化し、それらを人気のあるLinuxマシンに公開するか、仮想化できるオープンソースアプリケーションコンテナエンジンです。コンテナはサンドボックスメカニズムを完全に使用し、それらの間にインターフェイスはありません。 Docker Imageは、コンテナ化されたプロセスを実行するためのソリューションです。この記事では、Simple Spring Bootアプリケーションを構築します。
2。環境建設
JDK 1.8+
Maven 3.0+
Docker最新バージョン。
3. Mavenを使用してプロジェクトを構築します
3.1ディレクトリ構造を作成します
MKDIR -P SRC/MAIN/JAVA/COM/LIDONG/DEMO
LinuxまたはMacシステムで。
3.2 pom.xmlファイルを作成します
<?xml version = "1.0" encoding = "utf-8"?> <project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns:xsi = "http://www.w3.org/2001/xmlschema-instance <http://www.w3.org/2001 xsi:schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.0.sdsd"> <modeleversion> 4.0.0 </modelversion> <グループ<グループ< <Artifactid> lidong-spring-boot-demo </artifactid> <version> 1.0-snapshot </version> <parent> <parent> <parent> <parent> <groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-parent </artifactid> <バージョン<project.build.sourceencoding> utf-8 </project.build.sourceencoding> <project.reporting.outputencoding> utf-8 </project.reporting.outputencoding> <java.version> 1.8 </java.version> </properties> <dependencies> <dependency> groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-web </artifactid> </dependency> <ependency> <ependency> org.springframework.boot </groupid> spring-boot-stortid> <scope> test </scope> </dependency> <dependency> groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-thymeleaf </artifactid> </dependency <artifactid> spring-boot-maven-plugin </artifactid> </plugin> <plugin> <groupid> com.spotify </groupid> <artifactid> docker-maven-plugin </artifactid> <バージョン<Imagename> $ {docker.image.prefix}/$ {project.artifactid} </imageName> <dockerdirectory> src/main/docker </dockerdirectory> <sostas> <resurce>/</targetpath> </targetpath> <directory> $ {project.directory} </directory> <cludent> $ {project.build.finalname} .jar </inctrual> </resource> </resources> </configuration> </plugin> </glagins> </build> </project>知らせ:
Spring Boot Mavenプラグインは、多くの便利な機能を提供します。
1)ClassPath上のすべてのJARファイルを収集し、単一の実行可能なJARに構築するため、サービスを実行および転送する方が便利になります。
2)runnableクラスとしてマークするために、public static void main()メソッドを検索します。
3)Spring Bootの依存関係に一致するようにバージョン番号を設定するための組み込みの依存関係パーサーを提供します。任意のバージョンをオーバーライドできますが、デフォルトになります
選択したバージョンセットのブート。
SpotifyのDocker-Maven-Pluginプラグインは、Mavenを構築するために使用されるDocker画像です
1)イメージ名画像の名前を指定します。この例は、springio/lidong-spring-boot-demoです
2)dockerdirectory dockerfileの場所を指定します
3)リソースとは、DockerFileと組み合わせて画像を構築するときに使用する必要があるファイルを指します。通常、アプリケーションのJARパッケージを含める必要があります。
4。最初のスプリングブートアプリケーションを書きます
簡単なスプリングブートアプリケーションを作成します。
src/main/java/com/lidong/demo/samplecontroller.java:
パッケージcom.lidong.demo; Import org.springframework.boot.springApplication; Import org.springframework.boot.autoconfigure.springframework.stringframework.stereotype.controller; Import org.springframework.web.bind.annotation org.springframework.web.bind.annotation.responsebody;/** * @project name:lidong-dubbo * @class name:samplecontroller * @class説明: * @author:lidong * @creation time:2017/2/19 9:34 am * @company:chni * @q:156128170 @email:[email protected] */ @controller @springbootapplicationpublic class samplecontroller { @responsebody @requestmapping(value = "/")string home(){return "hello docker world"; } public static void main(string [] args){springApplication.run(samplecontroller.class " - server.port = 8081"); }}
クラスは@springbootapplication @restControllerによって識別され、Spring MVCによるWebリクエストの処理に使用できます。
@RequestMapping Map / to Home()に「Hello Docker World」で応答します。
Main()メソッドは、Spring BootのSpringApplication.run()メソッドを使用してアプリケーションを開始します。
5。プログラムを実行します
5.1 Mavenコマンドを使用します
MVNパッケージ
走る:
Java -Jar Target/Lidong-Spring-Boot-Demo-1.0-Snapshot.jar
プロジェクトにアクセスしてください
プログラムが正しく実行されている場合、ブラウザはhttp:// localhost:8081/にアクセスし、「hello docker world」という言葉を見ることができます。ページ上。
5.2アイデアプラグインを使用します
6。コンテナプロジェクト
Dockerは、DockerFileファイル形式を使用して画像レイヤーを指定します。
ファイルSRC/MAIN/DOCKER/DOCKERFILEを作成します。
Frolvlad /Alpine-OracleJdk8から:Slimvolume /Tmpadd Lidong-Spring-Boot-Demo-1.0-Snapshot.jar app.jarrun sh -c 'touch /app.jar'env java_opts = "" entry point ["sh"、 "-c"、 "Java $ java_opts -djava.security.egd = file:/dev/./ urandom -jar/app.jar "]]
この構成ファイルを説明します:
ボリュームは、 /TMPとして一時ファイルディレクトリを指定します。効果は、ホスト /var /lib /dockerディレクトリに一時ファイルを作成し、コンテナ /TMPにリンクすることです。変更手順はオプションであり、ファイルシステムの適用を伴う場合に必要です。 /TMPディレクトリは、dockerデータフォルダーに持続するために使用されます。これは、スプリングブートで使用される埋め込まれたTomcatコンテナ /TMPがデフォルトで作業ディレクトリとして使用されるためです。
プロジェクトのJARファイルはコンテナに追加されます
EntryPoint Execute Project App.jar。 Tomcatの起動時間を短縮するには、システムプロパティを追加してエントロピーソースとして「/dev/urandom」を指す
Docker画像を作成します
ビルドを実行してDocker画像になる:
MVNパッケージDocker:ビルド
走る
Docker画像を実行します
docker run -p 8081:8081 -t springio/lidong-spring-boot-demo
このスプリングアイコンを参照してください。 DockerのSpring Bootプログラムを完了したと思いました。
次に、ブラウザに移動して、http:// localhost:8081/にアクセスすると、「hello docker world」という言葉を見ることができます。ページ上。
要約します
上記は、編集者が紹介したスプリングブートアプリケーションです。 Spring Bootアプリケーションは、Dockerを介して構築され、実行およびリリースされます。私はそれが誰にでも役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は、すべての人に時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!