2 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
創(chuàng)建一個(gè)redis docker容器
首先,我們先為redis創(chuàng)建一個(gè)Dockerfile
FROM ubuntu:12.10
RUN apt-get update
RUN apt-get -y install redis-server
EXPOSE 6379
ENTRYPOINT ["/usr/bin/redis-server"]
現(xiàn)在你需要通過(guò)Dockerfile創(chuàng)建一個(gè)鏡像,將替換成你自己的名字。
sudo docker build -t /redis .
運(yùn)行服務(wù)
使用我們剛才創(chuàng)建的redis鏡像
使用 -d 運(yùn)行這個(gè)服務(wù)分離模式,讓容器在后臺(tái)運(yùn)行。
重要的是我們沒(méi)有開放容器端口,相反,我們將使用一個(gè)容器來(lái)連接redis容器數(shù)據(jù)庫(kù)
sudo docker run -name redis -d /redis
創(chuàng)建你的web應(yīng)用容器
現(xiàn)在我們可以創(chuàng)建我們的應(yīng)用程序容器,我們使用-link參數(shù)來(lái)創(chuàng)建一個(gè)連接redis容器,我們使用別名db,這將會(huì)在redis容器和redis實(shí)例容器中創(chuàng)建一個(gè)安全的通信隧道
sudo docker run -link redis:db -i -t ubuntu:12.10 /bin/bash
進(jìn)入我們剛才創(chuàng)建的容器,我們需要安裝redis的redis-cli的二進(jìn)制包來(lái)測(cè)試連接
apt-get update
apt-get -y install redis-server
service redis-server stop
現(xiàn)在我們可以測(cè)試連接,首先我么要先查看下web應(yīng)用程序容器的環(huán)境變量,我們可以用我們的ip和端口來(lái)連接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
我們可以看到我們有一個(gè)DB為前綴的環(huán)境變量列表,DB來(lái)自指定別名連接我們的現(xiàn)在的容器,讓我們使用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
我們可以很容易的使用這個(gè)或者其他環(huán)境變量在我們的web應(yīng)用程序容器上連接到redis容器
- 2 回答
- 0 關(guān)注
- 1571 瀏覽
添加回答
舉報(bào)