ドッカーコンテナで実行中のブートアプリケーションを春にする方法

理由は、独自の使いやすさを、優先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パッケージを生成し、それはこの記事で示されたのと同様に、ドッカーと組み合わせて使用​​するために非常に自然で非常に簡単です。


おすすめ

転載: blog.51cto.com/14455981/2426734