Intalling Redis on Docker
我們要先利用Dockerfile建立一個docker的映像檔:
FROM ubuntu:14.04 RUN apt-get update && apt-get install -y redis-server EXPOSE 6379 ENTRYPOINT ["/usr/bin/redis-server"]
且檔名為Dockerfile。這時候還沒有建任何的映像檔,直到輸入下列指令:
docker build -t/redis //上層目錄
接著我們根據建好的映像檔來啟一個容器並命名為
redis
。 -d
表容器處於detached mode,也就是容器會在背景執行。 -p
則是希望container能連接到localhost端:$ docker run --name redis -p 6379:6379 -d/redis
方法二
另一個方法是我們讓 redis
與 db
透過 --link
連結。並進入容器的bash模式:
docker run --link redis:db -i -t ubuntu:14.04 /bin/bash
並執行:
$sudo apt-get update $sudo apt-get install redis-server $sudo service redis-server stop
又因前述使用了
--link redis:db
,Docker在我們的容器內已生成了環境變數:$ env | grep DB_//Should return something similar to this with your values DB_NAME=/violet_wolf/db DB_PORT_6379_TCP_PORT=6379 DB_PORT=tcp://172.17.0.33:6379 DB_PORT_6379_TCP=tcp://172.17.0.33:6379 DB_PORT_6379_TCP_ADDR=172.17.0.33 DB_PORT_6379_TCP_PROTO=tcp
接著就可以在container內下redis-cli指令後,進行redis指令的操作了!
$ redis-cli -h $DB_PORT_6379_TCP_ADDR $ redis 172.17.0.33:6379> $ redis 172.17.0.33:6379> set docker awesome OK $ redis 172.17.0.33:6379> get docker "awesome" $ redis 172.17.0.33:6379> exit
因為前述已經使用
-p 6379:6379
此時已經可以透過api連到外面去了! (e.g. 192.168.99.100:6379)額外補充
筆記一: 如果要重新啟動container? $docker start
筆記二: 若不知道無核再次於docker內操作redis?
$docker start ydredis //後進入bash模式 $docker exec -it ydredis bash //接著必須先查看一下docker engine此時賦予container的ip $ifconfig //查看ip $redis-cli -h//就可以開始下redis指令了!