春ブーツ2.0(D):使用ドッカー展開春ブーツ

「純粋な笑顔」より転載:https://blog.csdn.net/ityouknow/article/details/79606926

マイクロ着陸にドッカー技術開発サービスは春ブーツドッカーの展開を使用して、より便利な環境を提供し、我々は簡単な学習を取り、この記事では、非常に簡単です。

まず、シンプルな春のブートプロジェクトをビルドし、プロジェクトにドッカーサポートを追加し、最終的にプロジェクトを展開。

シンプルな春ブーツプロジェクト

pom.xml応じてスプリングブート2.0を使用して

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.0.RELEASE</version>
</parent>
  
  
  • 1
  • 2
  • 3
  • 4
  • 5

ウェブテストと依存性を追加します

<dependencies>
     <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

が存在する、DockerControllerの作成index()への訪問を返すメソッド:Hello Docker!

@RestController
public class DockerController {

    @RequestMapping("/")
    public String index() {
        return "Hello Docker!";
    }
}
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

スタートアップクラス

@SpringBootApplication
public class DockerApplication {

    public static void main(String[] args) {
        SpringApplication.run(DockerApplication.class, args);
    }
}
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

プロジェクトの完了が開始した後、依頼するブラウザを置くために成功開始後:http://localhost:8080/ページのリターンを:Hello Docker!、説明春ブートプロジェクトが正しく設定されています。

ドッカーのサポートを追加するために春のブートプロジェクト

ではpom.xml-propertiesドッカーでイメージ名を追加します

<properties>
    <docker.image.prefix>springboot</docker.image.prefix>
</properties>
  
  
  • 1
  • 2
  • 3

プラグインはドッカーは、プラグインを構築する追加しました:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <!-- Docker maven plugin -->
        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>1.0.0</version>
            <configuration>
                <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                <dockerDirectory>src/main/docker</dockerDirectory>
                <resources>
                    <resource>
                        <targetPath>/</targetPath>
                        <directory>${project.build.directory}</directory>
                        <include>${project.build.finalName}.jar</include>
                    </resource>
                </resources>
            </configuration>
        </plugin>
        <!-- Docker maven plugin -->
    </plugins>
</build>
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

ディレクトリにはsrc/main/dockerDockerfileファイル、イメージを構築する方法を説明しDockerfileファイルを作成しました。

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD spring-boot-docker-1.0.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
  
  
  • 1
  • 2
  • 3
  • 4

このDockerfileファイルは春ブーツの瓶にミラーを追加して、非常に単純な、基本的なビルディングJDK環境で、簡単に説明します。

  • 、からの指示Jdk8環境ベースのミラーリング、ミラーがローカルでない場合DockerHubからダウンロードします
  • VOLUMEは、体積ポイント/tmpディレクトリは、春ブーツは、内蔵のTomcatコンテナを使用しているため、Tomcatがデフォルトで使用される/tmp作業ディレクトリとして。このコマンドの効果は次のとおりです。ホストで/var/lib/dockerの一時ファイルディレクトリが作成され、にリンクされた容器に入れ/tmpディレクトリ
  • 、ADDコピーしてファイル名を変更
  • エントリーポイント、Tomcatの起動時間を短縮するために、追加java.security.egd指向システムプロパティ/dev/urandomエントリーポイントとしては

ドッカー依存性が完了し、この春のブートプロジェクトを追加します。

梱包環境の構築

私たちは、トラブルのWindows環境ドッカーロットで設定春ブートプロジェクトを、パッケージ化するドッカー環境を持っている必要がありますので、私はCentOSに7に一例として、ここです。

ドッカーの設置環境

インストール

yum install docker
  
  
  • 1

インストールが完了したら、ドッカサービスを開始するには、次のコマンドを使用して、ブートに設定します。

ervice docker start
chkconfig docker on

#LCTT 译注:此处采用了旧式的 sysv 语法,如采用CentOS 7中支持的新式 systemd 语法,如下:
systemctl  start docker.service
systemctl  enable docker.service
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

ドッカー中国アクセラレータを使用します

vi  /etc/docker/daemon.json

#添加后:
{
    "registry-mirrors": ["https://registry.docker-cn.com"],
    "live-restore": true
}
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

再起動ドッカ

systemctl restart docker
  
  
  • 1

入力docker versionバージョン情報が正しくインストールされて戻ります。

JDKをインストールします。

yum -y install java-1.8.0-openjdk*
  
  
  • 1

設定環境変数
開くためのvim /etc/profile
コンテンツについての追加を

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64 
export PATH=$PATH:$JAVA_HOME/bin 
  
  
  • 1
  • 2

変更を有効にするには、完了した後

source /etc/profile
  
  
  • 1

入力java -versionバージョン情報が正しくインストールされて戻ります。

Mavenのインストール

ダウンロード:http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz

## 解压
tar vxf apache-maven-3.5.2-bin.tar.gz
## 移动
mv apache-maven-3.5.2 /usr/local/maven3
  
  
  • 1
  • 2
  • 3
  • 4

で、環境変数を変更し/etc/profile、次の行を追加します。

MAVEN_HOME=/usr/local/maven3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
  
  
  • 1
  • 2
  • 3

実行覚えておいてくださいsource /etc/profile有効にするには、環境変数を。

入力mvn -versionバージョン情報が正しくインストールされて戻ります。

なるように全体のビルド環境は完全に設定します。

ドッカー展開春ブートプロジェクトを使用します

プログラムspring-boot-dockerテスト中のプロジェクトパスにパッケージ化コピーサーバー、。

#打包
mvn package
#启动
java -jar target/spring-boot-docker-1.0.jar
  
  
  • 1
  • 2
  • 3
  • 4

春のブートブート環境の構成ログを見た後、我々はDockerFileは、ミラーを構築使用し、問題がないことを示しています。

mvn package docker:build
  
  
  • 1

あなたが成功したショーを構築し、以下を見ると最初の建物は、少し遅くなることがあります。

...
Step 1 : FROM openjdk:8-jdk-alpine
 ---> 224765a6bdbe
Step 2 : VOLUME /tmp
 ---> Using cache
 ---> b4e86cc8654e
Step 3 : ADD spring-boot-docker-1.0.jar app.jar
 ---> a20fe75963ab
Removing intermediate container 593ee5e1ea51
Step 4 : ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar /app.jar
 ---> Running in 85d558a10cd4
 ---> 7102f08b5e95
Removing intermediate container 85d558a10cd4
Successfully built 7102f08b5e95
[INFO] Built springboot/spring-boot-docker
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 54.346 s
[INFO] Finished at: 2018-03-13T16:20:15+08:00
[INFO] Final Memory: 42M/182M
[INFO] ------------------------------------------------------------------------
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

使用するdocker images構成された画像を表示するためのコマンドを:

docker images
REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZE
springboot/spring-boot-docker   latest              99ce9468da74        6 seconds ago       117.5 MB
  
  
  • 1
  • 2
  • 3

springboot/spring-boot-docker 我々は良いイメージを構築することで、次のステップは、ミラーを実行することです

docker run -p 8080:8080 -t springboot/spring-boot-docker
  
  
  • 1

起動が完了したら、我々は使用しdocker ps実行されているが、ミラーを表示します:

docker ps
CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                    NAMES
049570da86a9        springboot/spring-boot-docker   "java -Djava.security"   30 seconds ago      Up 27 seconds       0.0.0.0:8080->8080/tcp   determined_mahavira
  
  
  • 1
  • 2
  • 3

私たちは、あなたのブラウザを訪問し、容器がランニング中に構築されて見ることができます:http://192.168.0.x:8080/リターン

Hello Docker!
  
  
  • 1

手順ドッカー展開春ブートプロジェクトの成功!

サンプルコード-github

サンプルコード - コード雲

参照

春とブートドッカー
ドッカー:ブートドッカーへのSpringアプリケーションのリリース

おすすめ

転載: blog.csdn.net/jiangjunshow/article/details/95244275