docker建立redis容器

2021-07-02 12:58:14 字數 2311 閱讀 8506

建立redis容器例項,我們使用了docker的埠對映機制,從而我們就可以使用host伺服器的ip訪問這些例項

$ docker run -d --name node2 -p 7002:6379 dockerfile/redis

$ docker run -d --name node3 -p 7003:6379 dockerfile/redis

docker ps檢視容器資訊,0.0.0.0:7001->6379/tcp

docker虛擬機器中的6379埠對映到了容器的7001埠

現在我們可以建立我們的應用程式容器,我們使用-link引數來建立乙個連線redis容器,我們使用別名db,這將會在redis容器和redis例項容器中建立乙個安全的通訊隧道

$ sudo docker run --

link node1:db -i

-t ubuntu:lastest /bin/bash

進入我們剛才建立的容器,我們需要安裝redis的redis-cli的二進位製包來測試連線

$ sudo apt-get update

$ sudo git clone

$ sudo

cd redis

$ sudo make && install

現在我們可以測試連線,首先我麼要先檢視下web應用程式容器的環境變數,我們可以用我們的ip和埠來連線redis容器

env | grep db_
db_name=/cranky_lumiere/db

db_port_6379_tcp_port=6379

db_port=tcp:

db_port_6379_tcp=tcp:

db_port_6379_tcp_addr=172.17.0.9

db_port_6379_tcp_proto=tcp

我們可以看到我們有乙個db為字首的環境變數列表,db來自指定別名連線我們的現在的容器,讓我們使用db_port_6379_tcp_addr變數連線到redis容器。

$ redis-cli

-h$db_port_6379_tcp_addr

172.17

.0.9:6379

> ping

pong

172.17

.0.9:6379

>

set hello world

ok172.17

.0.9:6379

> get hello

"world"

172.17

.0.9:6379

> exit

我們需要重新看看這個虛擬網路的結構,要看整個網路的結構,我們應該先了解docker的層次結構。在linux中,docker的邏輯結構是這樣的:

硬體 < linux系統(docker kernel) < docker容器

在windows中要執行docker,實際上是在虛擬機器下執行的,所以在windows中docker的邏輯結構應該是:

硬體 < windows系統 < docker虛擬機器(docker kernel) < docker容器。

在windows下,我們只需進入virtualbox中,將docker虛擬機器的網路做個橋接,或者埠對映就行了。

進入virtualbox主介面,選中docker虛擬機器(boot2docker-vm),單擊設定按鈕,在設定中選擇網路,這裡我們發現docker虛擬機器預設選擇了「網路位址轉換(nat)」。

為虛擬機器埠新增對映,將windows埠[9001~9003]對映到虛擬機器埠[7001~7003]。其中ssh是docker客戶端和docker虛擬機器進行通訊的埠。

通過windows的redis-cli與伺服器連線

參考:

從docker在linux和windows下的區別簡單理解docker的層次結構

利用docker構建開發環境

用docker構建分布式redis集群

dockerizing a redis service

docker中執行redis服務

Docker建立容器

容器是映象的乙個執行例項,是基於映象執行的輕量級環境,是乙個或者一組應用。怎樣建立容器?將容器所基於的映象名稱傳入即可,docker會從本地倉庫中尋找該映象,如果本地倉庫沒有,則會自動從遠端倉庫中拉取。docker pull nginx 拉取nginx最新版本的映象 檢視映象 建立nginx容器 d...

Docker建立MySQL容器

本文目的是建立乙個mysql的image,並且在新建立出來的容器裡自動啟動mysql服務接受外部連線 步驟 1.首先建立乙個目錄並在目錄下建立乙個dockerfile,檔案內容如下 from centos centos6 maintainer fanbin kong kongxx hotmail.c...

Docker建立MySQL容器

本文目的是建立乙個mysql的image,並且在新建立出來的容器裡自動啟動mysql服務接受外部連線 步驟 1.首先建立乙個目錄並在目錄下建立乙個dockerfile,檔案內容如下 from centos centos6 maintainer fanbin kong kongxx hotmail.c...