理由は、独自の使いやすさを、優先SpringBootになります私の毎日のサービス開発を休まや、エコロジーなどの便利な機能、さまざまな付属しています、今日は単純に春ブーツドッカーコンテナでアプリケーションを実行する方法について話します
構築するプロジェクト
まず、アイデアを開いて、春のブートアプリケーションを初期化する選択して、アイデアが依存関係のダウンロードが終了するまで、ダウンすべての方法を入力して、コーディングを開始
ここではシンプルなインタフェースを記述します
@RestController @SpringBootApplication パブリッククラスDemoApplication { @GetMapping( "/ハロー") のパブリック文字列のhello(){ リターンの"Hello World"; } パブリック静的無効メイン(文字列[] args){ SpringApplication.run(DemoApplication.class、引数)。 } }
そして、サービスが動作していることを確認するには、次のコマンドを実行します。
MVNきれいなパッケージ-Dmaven.test.skip =真 のjava -jarターゲット/デモ-0.0.1-SNAPSHOT.jarに
コンテナ
ここでは、この単純なアプリケーション春ブーツのコンテナを開始します
ファイルを作成しますDockerfile
まず、プロジェクトのルートディレクトリにメインない混乱のキャメルケースをDockerfileファイルを作成します。
From java:8 VOLUME /tmp #将打包好后的Jar文件放到image中 Add target/demo-0.0.1-SNAPSHOT.jar app.jar # change file access and modification times RUN bash -c 'touch /app.jar' EXPOSE 8080 #容器启动的时候运行Jar文件 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
构建镜像
接下来就去构建Docker镜像,不过通常这一步都会用Jenkins的去做:
docker build -t demo8 .
如果看到下面的输出说明执行成功了:
Sending build context to Docker daemon 14.84MB Step 1/6 : FROM java:8 ---> d23bdf5b1b1b Step 2/6 : VOLUME /tmp ---> Using cache ---> 91086d8b7c77 Step 3/6 : ADD target/demo-0.0.1-SNAPSHOT.jar app.jar ---> d161bed06e8b Step 4/6 : RUN bash -c 'touch /app.jar' ---> Running in 9fbaff628989 ---> 1fc0498bbb06 Removing intermediate container 9fbaff628989 Step 5/6 : EXPOSE 8080 ---> Running in a5c44244b267 ---> 3b5150c5bdd0 Removing intermediate container a5c44244b267 Step 6/6 : ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar /app.jar ---> Running in b7a3baac9d47 ---> 23ef7cc5e1b0 削除中間容器のb7a3baac9d47 正常にビルド23ef7cc5e1b0 に成功しましたタグ付きdemo8:最新
ランタイムイメージ
このステップが完了し構築することです後、私たちはスムーズに実行し始めました。
8080 demo8:ドッキングウィンドウは、4000 -p -d実行します
正しくインタフェース場合だけ見るためにそれをカール:
±%カールはlocalhost:4000 /ハロー Hello Worldの%
我々は、我々はテストに容器の中に見てはこちらをご覧8080ポートコンテナにポート4000をマッピングすることです。
±%のドッキングウィンドウのPS!10172 CONTAINER IDイメージコマンドCREATED STATUSポートの名称 5f1b7f29a0b6 988ed6f466b5の"Java -Djava.secur ..." 29分前まで29分0.0.0.0:4000->8080/tcp practical_jones %のドッキングウィンドウの幹部±-it 5f1b7f29a0b6 / binに/ bashのを 5f1b7f29a0b6 @ルート:/カールはlocalhost:8080 /ハロー のHello World
概要
SpringBootが直接パッケージ後に実行可能なJARパッケージを生成し、それはこの記事で示されたのと同様に、ドッカーと組み合わせて使用するために非常に自然で非常に簡単です。