Windows 10 dockerを使用してspring bootを実行

4247 ワード

1.dockerのインストール
  • windows 10 docker:ダウンロードアドレス
  • 2.dockerの設定
    Windowsでdockerを設定guiインタフェースを直接使用して設定すれば右クリック起動バーのdockerアイコンを設定し、settings>generalをクリックします
  • localhostを有効にする2375ポートを設定してdockerを実行します(有効にしないと、後で実行を試用すると2375ポートにアクセスできないエラーが表示されます)
  • 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  :          。             ,          。