Talk is cheap Files:
1 2 3 4 5 > tree . ├── app.py ├── docker-compose.yml └── web.Dockerfile
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 version: "3" services: redis: image: redis restart: always web: build: context: . dockerfile: web.Dockerfile depends_on: - redis environment: REDIS_HOST: redis restart: always lb: image: dockercloud/haproxy links: - web ports: - 80:80 depends_on: - web volumes: - /var/run/docker.sock:/var/run/docker.sock restart: always
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 from flask import Flask from redis import Redis import os import socket app = Flask(__name__) redis = Redis(host=os.environ.get('REDIS_HOST' , '127.0.0.1' ), port=6379) @app.route('/' ) def hello(): redis.incr('hits' ) return 'Hello Container World! I have been seen %s times and my hostname is %s.\n' % (redis.get('hits' ),socket.gethostname()) if __name__ == "__main__" : app.run(host="0.0.0.0" , port=8000, debug=True)
1 2 3 4 5 6 7 8 FROM python:2.7 LABEL maintaner="simon.xie@codewalker.me" COPY . /app WORKDIR /app RUN python -m pip install --upgrade pip && pip install flask redis EXPOSE 8000 CMD [ "python" , "app.py" ]
How to run
then you should see something like this:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 > docker-compose up Starting scale_redis_1 ... done Starting scale_web_1 ... done Starting scale_lb_1 ... done ... ... ... lb_1 | maxconn 4096 lb_1 | default_backend default_service lb_1 | backend default_service lb_1 | server scale_web_1 scale_web_1:80 check inter 2000 rise 2 fall 3 lb_1 | INFO:haproxy:Launching HAProxy lb_1 | INFO:haproxy:HAProxy has been launched(PID: 9) lb_1 | INFO:haproxy:===========END===========
How to see Open 127.0.0.1 in your browser whatever you like.
EOF Enjoy I, simon love this world ❤️
donate
感谢鼓励