拜读:docker容器与容器云(2),拜读docker
总结一下docker的学习搭建过程
看了3.1讲的内核,比较懵逼
看了网上的挑一挑外挂,基于python和模拟器的,试了试,都整好了,结果模拟器上微信的挑一挑打不开了。。。
1,获取镜像 docker pull haproxy docker pull redis docker pull django 2,分别启动六个容器 三个redis(一主两从) 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 两个Django docker run -it --name APP1 --link redis-master:db -v /root/Projects/Django/App1:/usr/src/app django /bin/bash docker run -it --name APP2 --link redis-master:db -v /root/Projects/Django/App2:/usr/src/app django /bin/bash 一个HAProxy docker run -it --name HAProxy --link APP1:APP1 --link APP2:APP2 -p 6301:6301 -v ~/Projects/HAProxy:/tmp haproxy /bin/bash 建议开七个窗口
2,配置三个redis 针对没有使用-v参数的容器 查看他的默认挂载点 查看对应的挂载点 docker inspect imageID | grep Source 从网上下载redis.conf【地址:http://download.redis.io/releases/redis-4.0.6.tar.gz】文件。对应的大版本就行 流程是:
1,使用docker ps -a 查看所有容器在,在使用docker inspect f2b | grep -E "Source|Destination"命令查看三个redis对应的挂载目录
source对应的是主机的挂载点,Destination对应的是容器中与之对应的挂载点 2,拷贝redis.conf cd <Source.value> cp <you_redis.conf_dir>/redis.conf redis,conf 3,修改参数, 主节点修改三个参数 band 0.0.0.0 #不然会搜索不到主redis deamonize yes pidfile /var/run/redis.pid 从节点修改四个参数 band 0.0.0.0 deamonize yes pidfile /var/run/redis.pid #这里该不该都行 slaveof master 6379 4,进入对应的容器 5,进入到对应的挂载点目录,cd <Destination.value> 6,将其redis.conf拷到 /usr/local/bin/, 7,启动redis, redis.server redis.conf 8,测试主从redis redis-cli 进入到redis的命令,使用set和get对其设置值和取值
3,配置两个App
1 在容器中使用pip命令安装redis pip install redis 测试
2,创建并启动App 使用容器中python+Django环境生成 cd /usr/src/app mkdir dockerweb cd dockerweb cd dockerweb django-admin.py startproject redisweb cd redisweb python manage.py startapp helloworld 生成helloworld文件 切换到主机中,编辑相应的配置文件:views、setting、urls cd /root/Projects/Django/App1/dockerweb/redisweb/helloworld/ vim views.py from django.shortcuts import render # Create your views here. from django.http import HttpResponse import redis def hello(request): str = redis.__file__ str += "<br>" r = redis.Redis(host='db',port=6379, db=0) info = r.info() str += ("set hi <br>") r.set('Hi','Helloworld-APP1') str +=("Get Hi:%s <br>" % r.get('Hi')) str +=("Redis Info:<br>") str +=("Key:Info Value") for key in info: str += ("%s : %s <br>" % (key,info[key])) return HttpResponse(str) 编辑setting文件 cd ../redisweb/ #允许外来访问 ALLOWED_HOSTS = ['*'] #添加helloworld项目 # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'helloworld', ] 编辑urls.py 添加引用 from helloworld.views import hello 增加链接 url(r'^helloworld$',hello),
编译helloworld项目 python manage.py makemigrations python manage.py migrate python manage.py createsuperuser #设置后台管理的用户名和密码 邮箱随便设置
启动helloworld项目 python manage.py runserver 0.0.0.0:8001
4,HAProxy容器节点的配置
1,编辑haproxy.cfg文件 cd ~/Projects/HAProxy vim haproxy.cfg global log 127.0.0.1 local0 maxconn 4096 chroot /usr/local/sbin daemon nbproc 4 pidfile /usr/local/sbin/haproxy.pid defaults log 127.0.0.1 local3 mode http option dontlognull option redispatch retries 2 maxconn 2000 balance roundrobin timeout connect 5000ms timeout client 50000ms timeout server 50000ms listen redis_proxy bind 0.0.0.0:6301 bind-process 2 #pao zai laing ge CPU shang` 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
适当的注释(注:这里少了两项: bind 0.0.0.0:6301,bind-process 2 #pao zai laing ge CPU shang`)
2,进入容器并启动 cd /tmp cp haproxy.cfg /usr/local/sbin cd /usr/local/sbin haproxy -f haproxy.cfg 注:杀死所有有关HAProxy的进程:killall haproxy 测试
美好的一天 明天加油
版权声明:菜鸟历程,多多指教! http://blog.csdn.net/u013991917/article/details/79039635
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。