SpringCloudプロジェクトをdockerで配備する(ミラーを直接プッシュする方法)

5946 ワード

転載先:https://blog.csdn.net/u011508407/
準備作業
  • JDK1.8
  • Docker1.12.1
  • CentOS7.0

  • 1.CentOS7.0下JDK 1.8のインストール
    1、Oracleの公式サイトにjdk-8 u 181-linux-x 64をダウンロードしてください.tar.gzスタンバイ
    2、システムに付属のjavaをアンインストールする
    java -version           #        ,      java
    rpm -qa|grep java       #         java
    yum -y remove [        ,       ]
    

    3、jdkのインストール
    cd /usr            #      jdk   
    mkdir java         #  java  , jdk-8u181-linux-x64.tar.gz      
    tar -zxvf jdk-8u181-linux-x64.tar.gz     # jdk       
    

    4、環境変数の構成
    vim /etc/profile      #       
    

    見つかった:export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROLの行に、次の行を追加します.
    #   java    
    export JAVA_HOME=/usr/java/jdk1.8.0_181 #       
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    

    環境変数を有効にする
    source /etc/profile    
    

    インストールのテスト
    java -version
    

    2.Dockerのインストール
    1、カーネルバージョンを表示する(Dockerは64ビットバージョンが必要で、同時にカーネルバージョンは3.10以上で、バージョンが3.10以下の場合、カーネルをアップグレードする必要がある)
    uname -r
    

    2、yumパッケージの更新:
    yum update
    

    3、yum倉庫を追加する:
    sudo tee /etc/yum.repos.d/docker.repo <

    4、Dockerのインストール
    yum install docker-engine
    

    5、Dockerを起動する
    service docker start
    

    6、dockerリモートアクセスの構成
    コマンドを実行してファイルを編集
    vim /usr/lib/systemd/system/docker.service
    

    この行を見つけて
    ExecStart=/usr/bin/dockerd 
    

    に改心
     ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H
     unix:///var/run/docker.sock
    

    変更が完了したらDockerを保存して再起動します
     service docker restart
    

    アクセスのテストhttp://125.35.86.214:2375/version戻りデータがある場合は構成に成功しました.
    7、Docker国内ミラーを使用する(Dockerミラーのダウンロードをスピードアップするため、必須ではない)
    curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s
    http://fe8a7d6e.m.daocloud.io
    

    3.Docker Componentのインストール
    1、docker-composeをダウンロードし、/usr/local/bin/
    https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname
    -s`-`uname -m` > /usr/local/bin/docker-compose
    

    2、Docker Componentスクリプトに実行権限を追加する
    chmod +x /usr/local/bin/docker-compose
    

    3、インストール完了、テスト
    docker-compose --version
    

    結果:
    docker-compose version 1.8.0, build f3628c7
    

    Docker Componentのインストールが完了したことを示します.
    4.Docker Mavenプラグインを使用してミラーを構築しアップロードする
    1、新規Dockerfileファイル
    プロジェクトの/src/mainでフォルダdockerを追加し、フォルダの下にDockerfileファイルを作成します.ファイルの内容は次のとおりです.
    #       
    FROM java:8
    #              
    VOLUME /tmp
    #        ,handcuffs-reg-0.0.1-SNAPSHOT.jar   maven      
    ADD handcuffs-reg-0.0.1-SNAPSHOT.jar app.jar
    RUN bash -c 'touch /app.jar'
    #             
    ENTRYPOINT  ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
    

    2、pomを修正する.xmlファイルは以下のpluginに追加されます.
  • imageName:ミラー名
  • dockerDirectory:Dockerfileファイルが存在するディレクトリ
  • dockerHost:dockerが存在するホストip 2375はdockerがオープンするリモートアクセスポート
  • である.
    その他の構成はデフォルトで行えます.
    
        com.spotify
        docker-maven-plugin
        0.4.14
        
            reg-service
            src/main/docker
             http://125.35.86.214:2375
               
                    
                        /
                        ${project.build.directory}
                        ${project.build.finalName}.jar
                    
                
        
    
    

    各マイクロサービスプロジェクトは構成されます.
    3、ミラーを構築しdockerにアップロードする
    mavenを使用して次のコマンドを実行します.
    clean package docker:build -DskipTests
    

    アップロードに成功したら、サーバに入力
    docker images
    

    すべてのdockerミラーが表示されます.
    5.Docker Componentによるサービス編成
    1、サーバーの任意のディレクトリに、新しいファイルdocker-composeを作成する.yml
    version: '2'
    services:
      eureka-server1:              #      --    
        restart: on-failure
        image: reg-service         #    
        ports:
          - "8761:8761"            #     
        networks:
          - eureka-net             #    
        environment:               #    
          SERVER_PORT: "8761"      #                   
    
      config:                      #      --    
        image: config-service      #      
        networks:
          - eureka-net             #    
        ports:
          - "8091:8091"            #     
        environment:               #      
          REGISTER_URL: "http://114.115.185.152:8761/eureka/" 
          SERVER_PORT: "8091"
          SERVER_GIT_URL:  "https://gitee.com/deanTheOne/handcuffs-config.git"
          SERVER_GIT_USERNAME: "test"
          SERVER_GIT_PASSWORD: "test"
          RABBITMQ_HOST: "39.105.152.144"
          RABBITMQ_PORT: "5672"
          RABBITMQ_USERNAME: "mqTest"
          RABBITMQ_PASSWORD: "mqTest"
    
    #            
      zuul:
        restart: on-failure
        image: gateway-service
        ports:
          - "8000:8000"
        environment:
          REGISTER_URL: "http://114.115.185.152:8761/eureka/"
          SERVER_PORT: "8000"
          SERVER_ADDR: "114.115.185.152"
        networks:
          - eureka-net
    networks:
      eureka-net:
    
        driver: bridge
    

    ファイルを作成して保存し、現在のファイルがあるディレクトリに切り替え、コマンドを入力してDocker Componentを起動します.
    docker-compose -f docker-compose.yml up -d
    

    Docker Componentコマンドの停止
    docker-compose -f docker-compose.yml down