Windows 10 dockerを使用してspring bootを実行
4247 ワード
1.dockerのインストール windows 10 docker:ダウンロードアドレス 2.dockerの設定
Windowsでdockerを設定guiインタフェースを直接使用して設定すれば右クリック起動バーのdockerアイコンを設定し、settings>generalをクリックします localhostを有効にする2375ポートを設定してdockerを実行します(有効にしないと、後で実行を試用すると2375ポートにアクセスできないエラーが表示されます) 設置阿里雲加速器阿里雲加速器阿里雲加速器阿里雲加速器阿里雲加速器阿里雲加速器阿里雲加速器阿里雲加速器阿里雲加速器阿里雲加速器阿里雲加速器阿里雲加速器阿里雲加速器阿里雲加速器阿里雲加速器阿里
3.dockerでspring bootプロジェクトを実行する作成
通常の方法でspring bootを作成するのと同じように、mavenにdockerのプラグインを追加するだけで、mavenを使用してdockerサーバを作成できます.
spring bootプロジェクトのsrc/main/dockerディレクトリにDockerfileファイルを作成
4.dockerサーバの作成
dockerはサーバミラーfrolvlad/alpine-oraclejdk 8:slimをダウンロードし、spring bootプロジェクトjarファイルspring-boot-docker-1.0-SNAPSHOTを追加します.jar、jarファイルに別名appを取ります.JArは、最後にdockerサーバに、起動時にjava-Djavaを実行するように伝えます.security.egd=file:/dev/./urandom -jar/app.JArこのコマンドlocalhost:2375ポートに接続できない場合は、上の
サーバが作成されたら、次のコマンドを実行して、dockerにサーバdockerの実行、ポート、ローカル8080とdockerの8080を起動させ、コンテナyurencloud/spring-boot-dockerを起動させます.
自分のブラウザでdockerで実行されているspring bootにアクセスできます
5.まとめ
dockerとvagrantの間では、dockerの実行速度が速く、各ミラーが小さくなります.しかしdockerは本当に入れなければならないし、大きくなることもできます.dockerは単独のコンテナを作成し、mysqlを単独で実行し、redisを単独で実行することができます.この機能はvagrantとは比べものになりません.もし私たちのいくつかのサービスがlinuxでしか実行できず、windowsで実行できず、vagrantを使用したり、仮想マシンで完了したlinuxシステムを作成したりして、サービスをインストールすることができない場合は、明らかに面倒で膨大です.dockerはこのような状況にもっと適応することができます.しかしjava開発段階でdockerを使うのは、あまり向いていないと思います.phpは似合っています.しかし、生産環境に配備される時になった.dockerはjava webに対してもphp webに対しても大きな役割を果たすことができます.dockerはコンテナを作成するので、各コンテナには独自の実行環境があり、互いに隔離されています.nodejs環境を作成したいとき、php環境を作成したいとき、java環境を作成したいとき、javaとoracleを組み合わせた環境を作成したいとき、phpとmysqlを組み合わせたいとき、dockerでコンテナを作成することができます.そうすれば、自分のパソコンにいろいろなソフトウェアをインストールしたり、いろいろな変数を構成したりして、めちゃくちゃにする必要はありません.同時に、dockerの起動は非常に迅速です!また、同じjava環境でもjava 6コンテナ、java 8コンテナに分けることができます.主な利点はdockerの軽量級、マルチコンテナだと思います.
Windowsでdockerを設定guiインタフェースを直接使用して設定すれば右クリック起動バーのdockerアイコンを設定し、settings>generalをクリックします
Expose daemon on tcp://localhost:2375 without TLS
https://m7c6b36f.mirror.aliyuncs.com
3.dockerでspring bootプロジェクトを実行する作成
通常の方法でspring bootを作成するのと同じように、mavenにdockerのプラグインを追加するだけで、mavenを使用してdockerサーバを作成できます.
org.springframework.boot
spring-boot-maven-plugin
com.spotify
docker-maven-plugin
0.4.13
${docker.image.prefix}/${project.artifactId}
src/main/docker
/
${project.build.directory}
${project.build.finalName}.jar
UTF-8
yurencloud
1.3.3.RELEASE
spring bootプロジェクトのsrc/main/dockerディレクトリにDockerfileファイルを作成
FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD spring-boot-docker-1.0-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
4.dockerサーバの作成
dockerはサーバミラーfrolvlad/alpine-oraclejdk 8:slimをダウンロードし、spring bootプロジェクトjarファイルspring-boot-docker-1.0-SNAPSHOTを追加します.jar、jarファイルに別名appを取ります.JArは、最後にdockerサーバに、起動時にjava-Djavaを実行するように伝えます.security.egd=file:/dev/./urandom -jar/app.JArこのコマンドlocalhost:2375ポートに接続できない場合は、上の
2. docker
を参照してください.mvn package docker:build
サーバが作成されたら、次のコマンドを実行して、dockerにサーバdockerの実行、ポート、ローカル8080とdockerの8080を起動させ、コンテナyurencloud/spring-boot-dockerを起動させます.
docker run -p 8080:8080 -t yurencloud/spring-boot-docker
自分のブラウザでdockerで実行されているspring bootにアクセスできます
localhost:8080
5.まとめ
dockerとvagrantの間では、dockerの実行速度が速く、各ミラーが小さくなります.しかしdockerは本当に入れなければならないし、大きくなることもできます.dockerは単独のコンテナを作成し、mysqlを単独で実行し、redisを単独で実行することができます.この機能はvagrantとは比べものになりません.もし私たちのいくつかのサービスがlinuxでしか実行できず、windowsで実行できず、vagrantを使用したり、仮想マシンで完了したlinuxシステムを作成したりして、サービスをインストールすることができない場合は、明らかに面倒で膨大です.dockerはこのような状況にもっと適応することができます.しかしjava開発段階でdockerを使うのは、あまり向いていないと思います.phpは似合っています.しかし、生産環境に配備される時になった.dockerはjava webに対してもphp webに対しても大きな役割を果たすことができます.dockerはコンテナを作成するので、各コンテナには独自の実行環境があり、互いに隔離されています.nodejs環境を作成したいとき、php環境を作成したいとき、java環境を作成したいとき、javaとoracleを組み合わせた環境を作成したいとき、phpとmysqlを組み合わせたいとき、dockerでコンテナを作成することができます.そうすれば、自分のパソコンにいろいろなソフトウェアをインストールしたり、いろいろな変数を構成したりして、めちゃくちゃにする必要はありません.同時に、dockerの起動は非常に迅速です!また、同じjava環境でもjava 6コンテナ、java 8コンテナに分けることができます.主な利点はdockerの軽量級、マルチコンテナだと思います.
([AVOS Cloud**](https://link.zhihu.com/?target=https%3A//cn.avoscloud.com/)) BaaS, Docker, 。
, 16 32G , 500+ ( + RESTful API), : : , 。
: 。
500 , , 。 , , 「 」 , , JVM 。
Docker , , 。
: :https://www.zhihu.com/question/22969309/answer/30865048 : 。 , 。