REPOSITORY TAG IMAGE ID CREATED SIZE django latest 2427265c139d 2 weeks ago 450.7 MB redis latest fb46ec1d66e0 2 weeks ago 151.3 MB haproxy latest 4e2769f9caad 2 weeks ago 139.1 MB
应用栈容器节点启动
启动Redis容器
1 2 3 4 5
docker run -it --name redis-master redis /bin/bash
docker run -it --name redis-slave1 --link redis-master:master redis /bin/bash
docker run -it --name redis-slave2 --link redis-master:master redis /bin/bash
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 91d571100cee haproxy "/bin/bash" 4 days ago Up 2 days 0.0.0.0:6301->6301/tcp HAProxy 894c4241f595 django "/bin/bash" 4 days ago Up 2 days APP2 e4d6d2f394cb django "/bin/bash" 4 days ago Up 2 days APP1 84aa1adf394b redis "/entrypoint.sh /bin/" 6 days ago Up 2 days 6379/tcp redis-slave2 f71b9c1874a0 redis "/entrypoint.sh /bin/" 6 days ago Up 2 days 6379/tcp redis-slave1 bf5d59eea503 redis "/entrypoint.sh /bin/" 6 days ago Up 2 days 6379/tcp redis-master
root@84aa1adf394b:/data# redis-cli 127.0.0.1:6379> get master "helloworld" 127.0.0.1:6379>
证明redis数据库节点已经搭建好了
APP容器节点的配置
Django容器启动以后,需要利用Django框架,开发一个简单的Web程序。
为了访问数据库,需要在容器中安装Python语言的Redis支持包,执行如下命令:
1
pip install redis
安装完后执行以下命令测试一下:
1 2 3 4 5 6 7 8
root@e4d6d2f394cb:/# python Python 3.4.4 (default, Feb 17 2016, 02:50:56) [GCC 4.9.2] on linux Type "help", "copyright", "credits" or "license"for more information. >>> import redis >>> print(redis.__file__) /usr/local/lib/python3.4/site-packages/redis/__init__.py >>>
cd /usr/src/app/dockerweb/redisweb/ python manage.py makemigrations python manage.py migrate python manage.py runserver 0.0.0.0:8001 最后输出: Performing system checks...
System check identified no issues (0 silenced). March 02, 2016 - 16:24:08 Django version 1.9.2, using settings 'redisweb.settings' Starting development server at http://0.0.0.0:8001/ Quit the server with CONTROL-C.
listen redis_proxy bind 0.0.0.0:6301 stats enable stats uri /haproxy-stats server APP1 APP1:8001 check inter 2000 rise 2 fall 5 server APP2 APP2:8002 check inter 2000 rise 2 fall 5
使用docker exec进入HAProxy容器中,执行以下过程:
1 2 3
cd /tmp/ cp haproxy.cfg /usr/local/sbin/ haproxy -f haproxy.cfg