LoginSignup
1
1

More than 5 years have passed since last update.

docker上のWASとFLASKのアプリケーションを連動させる

Last updated at Posted at 2018-08-12

始めに

Dokcer上で稼働しているWASとFlaskを連動させてみました
FlaskからWASに向けてHTTPリクエストを投げてJSONのデータを取得してみました

前提

開発環境

  • Windows10 pro
  • Docker for windows
  • WAS Liberty
  • Python + Flask

DOckerの構成

WASとFlaskのdocker-compose.ymlは別にしています

異なるdocker-compose.yml同士のContainerを通信させる設定について

異なるdocker-compose.yml同士のContainerを通信させる必要があるので、自前のnetwork構成を定義します
具体的には

  • docker network createコマンドで新規ネットワークを作成する
  • 新設したネットワーク構成を反映させるため、docker-compose.ymlを修正する

新規ネットワークを作成

dockerで新規ネットワークを作成する方法はDocker-docs-daを読んでみてください

docker-compose.ymlの修正

新規設定したdockerのネットワーク設定を追加します
GitHub上のソースの差分を参考にしてみてください

アプリケーションの修正

WASのアプリケーションの修正

Java:WASをDockerで起動させ、自前のアプリケーションをデプロイするをJSON形式でレスポンス情報を返すように修正しました。
詳細はGitHub上のソースを見てください

Flaskのアプリケーションの修正

主な修正ポイントは以下の通りです

なお、ここでのソースの修正ポイントはWASに投げるURLを「コンテナ名+Docker上で起動しているポート名」で指定する点です。
Docker上に新規作成したネットワークはDNSの代わりとなり、コンテナのIPアドレスとコンテナ名を紐づけてくれるため、URLを生成するときIPアドレスの代わりにコンテナ名でアクセスできるというわけですね

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1