現在、Dockerが私にとって何ができるのかを見ています。私が持っているユースケースは、Tomcat & My-SQLのようなテスト/ devサーバです。私が理解できないことは、これを設定する最良の方法は何ですか?テストサーバー用のDockerアーキテクチャ
TomCat用とMySQl用にそれぞれ1つのイメージを作成しますか?あるいは、私はそれらを同じ画像の中に入れますか?
別々の画像の場合は、別々の容器にする必要がありますか?
現在、Dockerが私にとって何ができるのかを見ています。私が持っているユースケースは、Tomcat & My-SQLのようなテスト/ devサーバです。私が理解できないことは、これを設定する最良の方法は何ですか?テストサーバー用のDockerアーキテクチャ
TomCat用とMySQl用にそれぞれ1つのイメージを作成しますか?あるいは、私はそれらを同じ画像の中に入れますか?
別々の画像の場合は、別々の容器にする必要がありますか?
データベースとWebサーバーをそれぞれの企業に分離することをお勧めしますあなたのアーキテクチャがどのようにprodのように見えるかをシミュレートします。これは、おそらくWebとdbの別々のコンテナです。
急所あなたが別々の容器を選択した場合学ぶ/検索するには:他の人が
私はこれが役立つことを願っています。良い一日を過ごしてください。
はい、各アプリケーションに既存の画像を使用してください。 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
を最初に実行していないことに注意してください。私は一般的に、画像タグ/バージョンをより詳細に管理する必要があります。
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に解決されます)