「純粋な笑顔」より転載: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/docker
Dockerfileファイル、イメージを構築する方法を説明し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
手順ドッカー展開春ブートプロジェクトの成功!