一、启动redis容器集群
- 执行:sudo docker run -it —name redis-master redis /bin/bash命令;
发现直接进入了bash模式,没法退出,所以命令改为:sudo docker run —name redis-master redis &
问题一:docker: Error response from daemon: Conflict. The container name "/redis-master" is already in use by container "3dfc25d7fd12aead282919f9a9fe91dc1d17a4750e1db96dd61287512bcbd387". You have to remove (or rename) that container to be able to reuse that name.解决一:报这个错是因为redis-master名字被别的容器占用了。所以:sudo docker container ls --all(可看出被那个容器占用以及容器的状态信息)sudo docker rm redis-mastersudo docker run --name redis-master redis解决二:redis-master就是你想启动的容器:sudo docker start/restart redis-master
- docker run —name redis-slave1 —link redis-master:master redis &
- docker run —name redis-slave2 —link redis-master:master redis &
redis会有默认挂载
二、启动APP
1.执行:
$ sudo docker run -it —name APP1 —link redis-master:db -v ~/Projects/Django/App1:/usr/src/app django /bin/bash
其中:-v(相当于挂载):当前主机的~/Projects/Django/App1目录和docker中的/usr/src/app/django建立map关系。任何在~/Projects/Django/App1目录下的操作,都可以再docker中通过ls /usr/src/app下面看到启动APP不知道为啥,需要两步,并且要跟着/bin/bash才能启动起来;启动APP1:1) $ sudo docker run -it --name APP1 --link redis-master:db -v /app/developers/liq/docker/App1:/usr/src/app django /bin/bash &2) $ sudo docker start APP1启动APP2:1) $ sudo docker run -it --name APP2 --link redis-master:db -v /app/developers/liq/docker/App2:/usr/src/app django /bin/bash &2) $ sudo docker start APP2
三、启动代理
研究发现也需要两步:
$ sudo docker run -it --name HAProxy --link APP1:APP1 --link APP2:APP2 -p 6301:6301 -v /app/developers/liq/docker/HAProxy:/usr/src/HAProxy haproxy /bin/bash &
$ sudo docker start HAProxy
