ホームページ  >  に質問  >  本文

如何在docker下搭建一个JAVA Tomcat运行环境,有试过的么?

最新在学习Docker,想搭建一个java tomcat环境,有知道的么?越详细越好,先谢了。

PHPzPHPz2761日前748

全員に返信(1)返信します

  • 大家讲道理

    大家讲道理2017-04-21 10:58:11

    このブログはあなたの問題を非常に明確に説明していると思います。注意深く読んでください。
    http://www.blogjava.net/yongboy/archive/2013/12/12/407498.html

    Docker は、アプリケーションの自動デプロイメント ソリューションを提供することを目的としています。Linux システム上にコンテナ (軽量の仮想マシン) を迅速に作成し、設定ファイルを通じてアプリケーションの自動インストールを簡単に実現できます。とても便利です。コンテナーを使用するため、実稼働環境と開発環境を相互に影響を与えることなく簡単に分離できます。これは、Docker を実行する最も一般的な方法です。その他のプレイ方法には、大規模な Web アプリケーション、データベース デプロイ、継続的デプロイ、クラスター、テスト環境、サービス指向のクラウド コンピューティング、仮想デスクトップ VDI などが含まれます。

    主観的な印象: Docker は Go 言語で書かれており、リソースの分離を実現するために cgroup を使用し、コンテナー テクノロジは Unix プロセスを独立して実行できる軽量の仮想化ソリューションを提供します。これは、安全で反復可能な環境でのソフトウェアの展開を自動化する方法を提供します。 LXC コマンドは少し複雑なので、興味がある方は、LXC をベースに以前に書いた記事 (JAVA PAAS クラウド プラットフォームの簡易版をゼロから構築する) を事前に確認してください。

    関連する実装原理、関連する理論、アプリケーション シナリオなどについては、このシリーズの後半で説明します。ここでは、Docker に基づいて Tomcat オペレーティング環境を構築するための完全なマニュアルを簡単に説明します。まずまともなデモを作成すると、その効果がわかり、さらに前進するのに役立つ可能性があります。

    環境

    この記事のすべての環境では、ubuntu-13.10-server-amd64 は 64 ビット システムであることに注意してください。理論的には、他の仮想マシンも完全に実行可能です。

    Dockerをインストールする

    Docker バージョン 0.7 には、Linux カーネル 3.8 サポートと AUFS ファイル システムが必要です。

    AUFSがインストールされているかどうかを確認してください

    sudo apt-get アップデート
    sudo apt-get install linux-image-extra-uname -r

    Dockerリポジトリキーを追加します

    sudo sh -c "wget -qO- https://get.docker.io/gpg | apt-key add -"

    Dockerリポジトリを追加してDockerをインストールします

    sudo sh -c "echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
    sudo apt-get アップデート
    sudo apt-get install lxc-docker

    Dockerが正常にインストールされているか確認してください

    sudo docker バージョン

    ターミナル出力 クライアントバージョン: 0.7.1

    Go バージョン (クライアント): go1.2
    Git コミット (クライアント): 88df052
    サーバーバージョン: 0.7.1
    Git コミット (サーバー): 88df052
    Go バージョン (サーバー): go1.2
    最終安定バージョン: 0.7.1
    sudo を削除します

    Ubuntu では、Docker を実行するときに毎回 sudo とパスワードを入力する必要がありますが、これは非常に面倒です。ここで微調整して、現在のユーザーの実行権限を対応する Docker ユーザー グループに追加しましょう。

    新しい Docker ユーザー グループを追加する

    sudo グループドッカーの追加

    現在のユーザーを docker ユーザー グループに追加します。ここでの yongboy は ubuntu サーバーのログイン ユーザー名であることに注意してください。

    sudo gpasswd - ヨンボーイドッカー

    Docker バックグラウンド監視プロセスを再起動します

    sudoサービスDockerの再起動

    再起動後、動作するか試してください

    ドッカーのバージョン

    まだ有効になっていない場合は、システムを再起動すると有効になります

    sudo再起動
    インスタンス - ubuntu 仮想マシンを実行する Docker をインストールします

    Docker がインストールされると、バックグラウンド プロセスが自動的に開始され、仮想マシン インスタンスをインストールできます (ここでは、公式デモで使用される学習/チュートリアル イメージを例として取り上げます)。

    docker pull 学習/チュートリアル

    インストールが完了したら、効果を見てください

    docker run learn/tutorial /bin/echo hello world

    新しくインストールされた仮想マシンを対話的に入力します

    docker run -i -t learn/tutorial /bin/bash

    以下が表示されます:

    root@51774a81beb3:/#

    インタラクティブ環境に入ったことを示します。

    SSH ターミナル サーバーをインストールして、外部からの SSH クライアントのログインとアクセスを容易にします

    適切なアップデート

    apt-get install openssh-server
    どのSSD
    /usr/sbin/sshd
    mkdir /var/run/sshd
    passwd #ユーザーのパスワードを入力します。SSH クライアントのログインを容易にするために、ここでは 123456 に設定しました
    出口 #出口
    操作したインスタンスのインスタンスコンテナIDを取得します

    docker ps -l

    コンテナIDイメージコマンド作成ステータスポート名

    51774a81beb3 learn/tutorial:latest /bin/bash 3 分前 0 番出口 thirsty_pasteur
    現在の操作のコンテナ ID が 51774a81beb3 であることがわかります。すべての操作を実行したら、簡単に SSH ログインできるように、操作を送信して保存する必要があることに注意してください:

    docker commit 51774a81beb3 学習/チュートリアル

    このイメージ インスタンスをバックグラウンド プロセスとして長時間実行します:

    docker run -d -p 22 -p 80:8080 learn/tutorial /usr/sbin/sshd -D

    ubuntu コンテナーで実行されている SSH サーバーはポート 22 を占有しており、-p 22 が指定されています。 -p 80:8080 は、ubuntu がポート 8080 で Tomcat を実行しますが、外部 (コンテナーの外) にマップされたポートは 80 であることを意味します。

    この時点で、正常に実行されるかどうかを確認してください。

    ドッカー ps

    コンテナIDイメージコマンド作成ステータスポート名

    871769a4f5ea learn/tutorial:latest /usr/sbin/sshd -D 約 1 分前 Up 約 1 分 0.0.0.0:49154->22/tcp, 0.0.0.0:80->8080/tcp focus_poincare
    ランダムに割り当てられた SSH 接続ポート番号は 49154 であることに注意してください:

    ssh root@127.0.0.1 -p 49154

    パスワードを入力したら入力できますか? SSH を制御したら、残りは非常に簡単です。JDK をインストールしたり、Tomcat をインストールしたりするだけです。それはあなた次第です。以下はインストール スクリプトです:

    ubuntu 12.04にoracle jdk 7をインストールします

    apt-get install python-software-properties

    add-apt-repository ppa:webupd8team/java
    apt-get アップデート
    apt-get install -y wget
    apt-get install oracle-java7-installer
    java -バージョン

    Tomcat 7.0.47をダウンロード

    wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.47/bin/apache-tomcat-7.0.47.tar.gz

    解凍して実行

    tar xvf apache-tomcat-7.0.47.tar.gz
    cd apache-tomcat-7.0.47
    bin/startup.sh
    デフォルトでは、tomcat はポート 8080 を占有します。ミラー インスタンスを起動するときに、-p 80:8080 が指定されると、ubuntu ミラー インスタンス/コンテナーは、ホスト ポート 80 にマップされるポート 8080 を開きます。ホストの IP アドレスがわかっていれば、自由にアクセスできます。ホストマシン上で、curl を通じてテストしてください:

    カール http://192.168.190.131
    もちろん、ブラウザを使用してアクセスすることもできます。

    実際の状況では、Tomcat はポート 80 を外部に直接開くことができない場合があります。これは通常、nginx/Apache またはファイアウォールの内側にあります。上記は単なるデモンストレーションです。

    まとめ

    Docker を使用して Tomcat ランタイム環境を構築するのは全体的に非常に簡単で、PAAS の存在を確認できます。はい、PAAS の基盤となるサービスとして Docker を使用すること自体は複雑ではありません。 ここで、スクリプト ファイルを使用してイメージ インスタンスを構築する方法と、Docker の実装原理とメカニズムについて説明します。

    返事
    0
  • キャンセル返事