非常簡單,沒有任何修飾,redis是使用一個連接附加到一個web應用程序。
首先,我們先為redis創建一個Dockerfile
FROM ubuntu:12.10 RUN apt-get update RUN apt-get -y install redis-server EXPOSE 6379 ENTRYPOINT ["/usr/bin/redis-server"]
現在你需要通過Dockerfile創建一個鏡像,將替換成你自己的名字。
sudo docker build -t <your username>/redis .
使用我們剛才創建的redis鏡像
使用 -d 運行這個服務分離模式,讓容器在後台運行。
重要的是我們沒有開放容器端口,相反,我們將使用一個容器來連接redis容器數據庫
sudo docker run -name redis -d <your username>/redis
現在我們可以創建我們的應用程序容器,我們使用-link參數來創建一個連接redis容器,我們使用別名db,這將會在redis容器和redis實例容器中創建一個安全的通信隧道
sudo docker run -link redis:db -i -t ubuntu:12.10 /bin/bash
進入我們剛才創建的容器,我們需要安裝redis的redis-cli的二進制包來測試連接
apt-get update apt-get -y install redis-server service redis-server stop
現在我們可以測試連接,首先我麼要先查看下web應用程序容器的環境變量,我們可以用我們的ip和端口來連接redis容器
env . . . 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
我們可以看到我們有一個DB為前綴的環境變量列表,DB來自指定別名連接我們的現在的容器,讓我們使用DB_PORT_6379_TCP_ADDR變量連接到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
我們可以很容易的使用這個或者其他環境變量在我們的web應用程序容器上連接到redis容器