DOCKER簡明教程 : 通過容器連接REDIS數據庫

heroslt 8年前發布 | 46K 次閱讀 Redis Docker 數據庫

序言

本文重點講解了如何通過Redis的官方鏡像和Docker容器來搭建redis-cli,并將其連接到Redis鏡像。首先要跟大家簡單介紹一下Redis,這是一個鍵值存儲系統,除了對場景進行緩存之外,Redis還提供了很多強大的功能,因此也目前是非常受歡迎的一個數據庫。

Docker鏡像倉庫簡介

大家可以在Docker Hub里搜索到目前所有的主流應用和服務的鏡像,像Python語言、MySQL數據庫等等鏡像在Docker Hub里面都有。而且Docker Hub里面的鏡像數量非常多,不管我們搜什么關鍵詞,都能搜出來一大堆結果。之所以會這樣,是因為Docker官方鏡像倉庫的宗旨就是將已知來源、滿足一定質量標準的Docker鏡像組織在一起提供給用戶。一般情況下,我建議大家都盡量使用Docker Hub提供的官方鏡像,大家可以在查詢結果列表中看到當前分類下有哪些官方鏡像,一般官方鏡像都會在列表中置頂顯示,而且會有標有“官方”字樣。

從官方鏡像倉庫pull鏡像的時候,用戶名的部分可以為空,也可以設置為library,比如說拉取 Casandra鏡像的時候就可以設置成從Apache Cassandra項目獲取。大家也可以在自己的終端上運行下面的命令,在Docker Hub中查找Cassandra鏡像:

$docker search Cassandra

通過這種方式對Docker Hub進行查詢的時候,系統會返回一條消息,提示用戶“你所拉取的鏡像已通過驗證”,看到這條信息就表示鏡像的校驗碼通過了Docker daemon的驗證,來源是可靠的。

快速實現Docker到Redis的連接

閑話少說,我們下面就進入實戰教程。首先運行下面命令,從Docker Hub拉取Redis鏡像:

$ docker pull redis

運行上面的命令下載鏡像,Docker daemon會自動輸出該Redis鏡像的來源信息、下載狀態,下載完成之后系統也會顯示最終狀態信息。

鏡像拉取完成之后,大家可以用下面的命令啟動Redis容器,記得要帶上“-d”參數:

$ docker run --name myredis-itsmine -d redis

“-d”參數的作用是讓Redis在后臺運行,因為本例中采用這種后臺運行的方式較為合適,所以這里我們寫上了這個參數。如果不帶 “-d”參數的話處理起來就要麻煩一些,這種情況下我們需要先停止終端的運行或者退出容器,然后才能通過宿主機來訪問Redis。

下面我們要進行最重要的一步操作,連接Redis。由于我們并沒有實際的需要連接到Redis的應用,所以這里我們用了redis-cli工具。大家可以在宿主機上安裝redis-cli,不過我建議大家新建一個容器,將redis-cli運行在里面,然后用下面的命令把這兩個容器連接起來,這樣我們就可以看到詳細的應用信息:

$docker run --rm -it --link myredis-itsmine:redis redis /bin/bash

運行該命令之后我們就可以在bash命令行下面看到容器的提示信息了:

root@f75bacab2715:/data#

$ docker run --rm -it --link myredis:redis redis /bin/bash

$ root@af47015c4a76:/data# redis-cli -h redis -p 6379

$ redis:6379> ping

$ PONG

$ redis:6379> set "Abc" 123

$ OK

$ redis:6379> get "Abc"

$ "123"

$ redis:6379> exit

root@af47015c4a76:/data# exit

$ exit

在上面的命令中,docker run命令后面跟的“–link myredis-itsmine:redis” 參數用于創建連接,Docker收到該指令后,就會嘗試將我們新建的容器連接到當前的“myredis-itsmine” 容器,同時會將新容器中的redis-cli命名為“redis”。Docker會在容器中的/etc/hosts路徑下為“redis”創建一個入口,并指向“myredis-itsmine”容器的IP地址。這樣我們就可以在redis-cli中直接使用“redis”作為主機名,這種做法是很方便的,我們不必再去找其他辦法來“發現”Redis的IP地址,然后加以引用了。

接下來我們就可以通過set和put命令來執行Redis的存取操作了,這里我們可以用一些示例數據來做個試驗。當然,在開始存取操作之前,大家還要再運行一下Redis的ping命令,驗證一下Redis服務器是否已經連接上了。

本文講述了如何通過容器來實現Redis數據庫的連接,看到這里,大家是否已經對容器的網絡連接有個初步的概念了?新版的Docker在網絡功能方面也做出了一定的改進,相信在不久的將來,所有用戶都可以很方便地通過Docker容器實現應用和服務的互連。

via:https://www.ghostcloud.cn/home/home.html

 本文由用戶 heroslt 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!