Dockerfileの調製
#Dockerfile
パイソンFROM:2.7
LABELのmaintaner = "eaon [email protected]"
COPY。/アプリ
WORKDIR /アプリ
RUNは、フラスコのRedisをインストールするPIP
80を公開
CMD [ "パイソン" 、"app.py" ]
2.書き込みapp.py
フラスコのインポートフラスコから
Redisの輸入Redisのから
輸入OS
輸入ソケット
アプリ=フラスコ(__name__ )
Redisの= Redisの(ホスト= os.environ.get ('REDIS_HOST' 、'127.0.0.1' )、ポート= 6379 )
@ app.route ('/' )
こんにちはDEF )( :
redis.incr ('ヒット' )
リターン「ハローコンテナの世界!私は%sの回を見てきたし、私のホスト名は%sです。\ n」は%(redis.get ('ヒット'を)、socket.gethostname ())
__name__ == "__main__" の場合:
app.run (ホスト= "0.0.0.0" 、ポート= 80 、デバッグ=真)
3.書き込みドッキングウィンドウ-compose.yml
バージョン: "3"
サービス:
繰り返します。
画像:リピート
ウェブ:
構築:
コンテキスト:。
dockerfile:Dockerfile
環境:
REDIS_HOST:Redisの
ポンド:
画像:dockercloud / haproxy
リンク:
- ウェブ
ポート:
- 8080:80
ボリューム:
- /var/run/docker.sock:/var/run/docker.sock
4.サービスの開始
アップドッキングウィンドウは、構成-d
規模によって拡張アプリケーション
コンテナは、同じ3つに拡大します
--scaleウェブ= 3 -dをドッキングウィンドウ、構成
PSポート占有率を表示ドッキングウィンドウ-コンを使用します
これは、この時点では、コンテナポート5000で占められている3つのアプリケーションが、負荷分散要求分布により行うことができることを見出しました
負荷分散のために要求した後6.カールが有することが判明することができます
7.縮尺
後の2 -d #webに減少--scaleウェブ=値をアップドッカ、作曲