docker Java Web実行環境の最小化

4844 ワード

  • サーバ環境:CentOS 7
  • 開発環境:macOS:0.13.5
  • 1.jdk-1.8またはjre-1.8、tomcat-8.5.33をローカルにダウンロード
    まずjdkとjreが作ったミラーを見てみましょう.違いは普通の大きさではありません.基礎ミラーを1つ差して、お客様が自分で1つ選択すればいいです.
    REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
    datong/tomcat              1.1                 1cc76fadca66        4 seconds ago       365 MB
    datong/tomcat              1.0                 9e2a8f6f7176        19 hours ago        595 MB
    

    ベースミラーはcentos公式ミラー200 MB
    REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
    docker.io/centos           latest              5182e96772bf        5 weeks ago         200 MB
    
  • 365 MBはjre
  • 595 MBはjdk
  • jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
    jre:http://www.oracle.com/technetwork/java/javase/downloads/server-jre8-downloads-2133154.html
    tomcat:https://tomcat.apache.org/download-80.cgi#8.5.34
    2.サーバへのファイルのアップロード
    サーバの新規ディレクトリ
    cd root
    mkdir software
    

    ファイルをサーバにアップロード(パスワードを入力する必要がある場合はサーバrootユーザーパスワードを入力)
    scp jdk-8u181-linux-x64.tar.gz [email protected]:/root/software
    scp server-jre-8u181-linux-x64.tar.gz [email protected]:/root/software
    scp apache-tomcat-8.5.33.tar.gz [email protected]:/root/software
    

    3.ミラーをダウンロード(dockerがインストールされていると仮定)
    docker pull centos
    

    4.ミラーの表示
    docker images
    
    docker.io/centos    latest              5182e96772bf        5 weeks ago         200 MB
    

    centosミラーが既に存在することを発見
    5.centosミラーに基づいてコンテナを実行する
    docker run -it --name my_tomcat --hostname datong -v /root/software/:/mnt/software/ centos bash
    
  • –nameコンテナ名
  • –hostnameコンテナホスト名
  • -i:「インタラクティブモード」でコンテナ
  • を実行することを示す.
  • -t:コンテナが起動するとそのコマンドライン
  • に入ることを示す.
  • -v:ローカルのどのディレクトリをコンテナにマウントする必要があるかを示します.フォーマット:-v:
  • すべてのインストーラがホストの/root/software/ディレクトリの下に置かれていると仮定し、コンテナの/mnt/software/ディレクトリの下にマウントする必要があります.
    すなわち,/root/software/は本来の仮想マシンの実ディレクトリであり,対応するコンテナ内のディレクトリは:/mnt/software/である.
    では、仮想マシンに/root/software/に格納されているファイル情報は、コンテナの/mnt/software/に対応してファイル情報が表示されます.
    6.jdk-1.8またはjre-1.8のインストール
    コマンド#コマンド#
    tar -zxvf jdk-8u181-linux-x64.tar.gz
    tar -zxvf server-jre-8u181-linux-x64.tar.gz
    

    解凍したフォルダをjavaと改名して/optディレクトリに移動
    cp -r jdk1.8.0_181/ /opt/java
    

    環境変数の設定(jdkはjreと同じ)
    vi /etc/profile
    

    最後に加わる
    export JAVA_HOME=/opt/java
    export JRE_HOME=/opt/java/jre
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
    export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JRE_HOME/lib
    

    構成を有効にする
    source /etc/profile
    

    7.tomcat-8.5.33のインストール
    コマンド#コマンド#
    tar -zxvf apache-tomcat-8.5.33.tar.gz
    

    名前を変更/optディレクトリに移動して環境変数を設定
    vi /etc/profile
    

    最後に加わる
    CATALINA_HOME=/opt/tomcat
    export CATALINA_HOME
    

    構成を有効にする
    source /etc/profile
    

    8.コンテナ実行スクリプトの作成
    コンテナを起動すると、そのスクリプトを実行し、/root/run.shなどのTomcatを起動ファイルとして起動する実行スクリプトを作成する必要があります.具体的な手順は次のとおりです.
    スクリプトの作成:
    vi /root/run.sh
    

    スクリプトを編集し、次の内容を書き込んで保存します.
    #!/bin/bash
    source /etc/profile
    sh /opt/tomcat/bin/catalina.sh run
    

    なぜstartup.shを使わないのかと聞かれるかもしれませんが、実はstartup.shのソースコードはcatalina.sh startを実行しています.
    実行スクリプトに実行権限を追加するには、次の手順に従います.
    chmod u+x /root/run.sh
    

    最後にコンテナを終了し、exitコマンドでいいです.
    9.jdkとtomcatをインストールしたコンテナに基づいてミラーを作成する
    実行中のコンテナの表示
    docker ps 
    
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    31f4199cf0fa        centos              "bash"              3 hours ago         Up 2 hours                              my_tomcat
    

    構成されたコンテナを使用してミラーを作成
    docker commit my_tomcat datong/tomcat:1.0
    sha256:8077e4aa6e613f3a26b55d4f589d4b312def902fa80d9c03acf91b233c2ac381
    

    シーケンスIDが自動的に返され、生成に成功したことを識別します.docker imagesのコマンドですべてのミラーを表示します.
    docker images
    
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    datong/tomcat       1.0                 8077e4aa6e61        5 seconds ago       601 MB
    

    このとき、最新に作成されたミラー「datong/tomcat」が表示され、バージョンラベル情報は1.0、ミラーIDは:8077 e 4 aa 6 e 61
    10.ミラーベースでコンテナを実行する
    docker run -d -p 8080:8080 --name my_tomcat1 --hostname datong datong/tomcat:1.0 /root/run.sh
    

    起動後、サーバip:8080ポートからtomcatサービスにアクセスできます.
    参考資料:https://blog.csdn.net/smartdt/article/details/77530286