一、启动redis容器集群

  1. 执行:sudo docker run -it —name redis-master redis /bin/bash命令;
    发现直接进入了bash模式,没法退出,所以命令改为:sudo docker run —name redis-master redis &
  1. 问题一:
  2. 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.
  3. 解决一:
  4. 报这个错是因为redis-master名字被别的容器占用了。所以:
  5. sudo docker container ls --all(可看出被那个容器占用以及容器的状态信息)
  6. sudo docker rm redis-master
  7. sudo docker run --name redis-master redis
  8. 解决二:
  9. redis-master就是你想启动的容器:
  10. sudo docker start/restart redis-master
  1. docker run —name redis-slave1 —link redis-master:master redis &
  2. 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

  1. 其中:
  2. -v(相当于挂载):当前主机的~/Projects/Django/App1目录和docker中的/usr/src/app
  3. /django建立map关系。任何在~/Projects/Django/App1目录下的操作,都
  4. 可以再docker中通过ls /usr/src/app下面看到
  5. 启动APP不知道为啥,需要两步,并且要跟着/bin/bash才能启动起来;
  6. 启动APP1
  7. 1) $ sudo docker run -it --name APP1 --link redis-master:db -v /app/developers/liq/docker/App1:/usr/src/app django /bin/bash &
  8. 2) $ sudo docker start APP1
  9. 启动APP2
  10. 1) $ sudo docker run -it --name APP2 --link redis-master:db -v /app/developers/liq/docker/App2:/usr/src/app django /bin/bash &
  11. 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