2016-05-23 8 views
1

現在、Dockerが私にとって何ができるのかを見ています。私が持っているユースケースは、Tomcat & My-SQLのようなテスト/ devサーバです。私が理解できないことは、これを設定する最良の方法は何ですか?テストサーバー用のDockerアーキテクチャ

TomCat用とMySQl用にそれぞれ1つのイメージを作成しますか?あるいは、私はそれらを同じ画像の中に入れますか?

別々の画像の場合は、別々の容器にする必要がありますか?

答えて

1

データベースとWebサーバーをそれぞれの企業に分離することをお勧めしますあなたのアーキテクチャがどのようにprodのように見えるかをシミュレートします。これは、おそらくWebとdbの別々のコンテナです。

急所あなたが別々の容器を選択した場合学ぶ/検索するには:他の人が

  • リンクにドッキングウィンドウの伝統的なリンクを使用してコンテナを示唆しているよう

    1. 使用あらかじめ定義された画像を、同じネットワークの下に置く(ルック
    2. Docker Composeを使用すると、コンテナの調整が簡単になります。手動でコンテナを起動する必要はありません。コンテナを増やせば煩雑になる可能性があります。

    私はこれが役立つことを願っています。良い一日を過ごしてください。

  • 1

    はい、各アプリケーションに既存の画像を使用してください。 Docker Hubから「公式」のものを手に入れることができます。

    能力があれば、好みのLinuxフレーバーで仮想マシンをインストールするだけです。そのフレーバーに適したDockerパッケージを選択します。

    あなたが役に立つかもしれない画像はDocker Hubで閲覧し、その指示に従ってください!

    docsに潜んで - 多分いくつかの(e)本を手に入れてください。あなたのケースでのMySQLとTomcat -

    常に、あなたが

    docker pull <image> 
    docker run <options> <image> 
    

    <image>ようなものでスタートしますが、あなたがハブから取得ドッカーイメージです。 <options>は、あなたがやりたいことや実験することに依存します。

    あなたのケースのための具体的な例:一緒に、これらの二つの容器をリンクしながら、

    docker pull mysql 
    docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag 
    docker pull tomcat:8.0 
    docker run -it --name tomcat --link some-mysql:mysql -p 8888:8080 tomcat:8.0 
    

    これは、MySQLとその後、Tomcatを起動します。何ができるのかをあなたに示すだけです。

    ハブから新しいイメージをダウンロードするときに、があり、docker pullを最初に実行していないことに注意してください。私は一般的に、画像タグ/バージョンをより詳細に管理する必要があります。

    1

    Docker Hubの公式画像を使用することをお勧めします。 MySQLのhttps://hub.docker.com//mysql/ Tomcatのhttps://hub.docker.com//tomcat/

    あなたが長い時間のためのMySQLのデータを保持したい場合はその後、あなたはMySQLのデータを保存するために、別の「データコンテナを」必要があります。そうしないと、MySQLコンテナを再作成するたびにすべてのデータベースが失われます。

    あなたはその後、あなたは、単にmysqlの(としてTomcatアプリケーション内からMySQLサーバを参照することができ

    docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=[put your password] mysql 
    

    とTomcatコンテナ

    docker run -d -p 8888:8080 --link mysql:mysql tomcat:8.0 
    

    のと同じくらい簡単な限り簡単にMySQLのコンテナを開始することができますこのホスト名は適切なIPに解決されます)

    関連する問題