開發機直連 Docker 中的 Redis 容器小教程

在筆者日常開發中,都是把redis裝在windows系統中。雖然可以通過RedisDesktopManager等客戶端工具連接操作redis,但是還是覺得low了一些。因為作為程序員,我可能更想在Linux系統操作redis,這樣在遇到生產環境實操時候,才不會顯得束手無策。

今天它來了,我們將會在虛機中安裝docker,然后在docker中安裝redis,最后讓我們宿主機(開發機)連接到我們安裝的redis,測試能否正常使用。

因為在win7中安裝虛機不是我們這篇文章主要目的,大家可以自己搜索資料安裝。

一.你需要準備什么?

  • windows7

  • VMware Workstation Pro

  • CentOS 7.0

  • MobaXterm_Personal

Docker CE 支持 64 位版本 CentOS 7,并且要求內核版本不低于 3.10。 CentOS 7 滿足最低內核的要求,但由于內核版本比較低,部分功能(如 overlay2 存儲層驅動)無法使用,并且部分功能可能不太穩定。

其中,我是用前三個搭建Linux工作環境,用MobaXterm_Personal工具連接操作Linux系統.如果你有一套可操作的Linux工作環境,完全可以跳過這一步;

二.安裝Docker

2.1 卸載舊版本

$ sudo yum remove docker 
                  docker-client 
                  docker-client-latest 
                  docker-common 
                  docker-latest 
                  docker-latest-logrotate 
                  docker-logrotate 
                  docker-selinux 
                  docker-engine-selinux 
                  docker-engine

 

2.4 安裝 yum

執行以下命令安裝依賴包:

$ sudo yum install -y yum-utils 
           device-mapper-persistent-data 
           lvm2

 

鑒于國內網絡問題,強烈建議使用國內源,我們選用中科大鏡像源

執行下面的命令添加 yum 軟件源:放置一些類似docker軟件的倉庫

關于yum源,可以閱讀這篇文章yum源解釋:

https://blog.csdn.net/qq_41869566/article/details/79945078

$ sudo yum-config-manager 
    --add-repo 
    https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

 

2.5 安裝docker

$ sudo yum install -y docker-ce docker-ce-cli containerd.io

 

2.6 啟動docker

$ sudo systemctl start docker

 

2.7 配置docker國內鏡像加速

國內從 Docker Hub 拉取鏡像有時會遇到困難,此時可以配置鏡像加速器。國內很多云服務商都提供了國內加速器服務,例如:

  • 網易云加速器 `https://hub-mirror.c.163.com`

  • 阿里云加速器(需登錄賬號獲取)

由于鏡像服務可能出現宕機,建議同時配置多個鏡像。各個鏡像站測試結果請到 docker-practice/docker-registry-cn-mirror-test 查看。

國內各大云服務商均提供了 Docker 鏡像加速服務,建議根據運行 Docker 的云平臺選擇對應的鏡像加速服務,具體請參考官方文檔。

本節我們以 網易云 鏡像服務 https://hub-mirror.c.163.com 為例進行介紹。

Ubuntu 16.04+、Debian 8+、CentOS 7

請在 /etc/docker/daemon.json 中寫入如下內容(如果文件不存在請新建該文件)

{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com"
  ]
}

 

注意,一定要保證該文件符合 json 規范,否則 Docker 將不能啟動。

之后重新啟動服務。

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

 

2.8 測試docker

$ sudo docker run hello-world

 

開發機直連 Docker 中的 Redis 容器小教程

三 安裝redis

3.1 拉取鏡像

$ sudo docker pull redis

#查看鏡像
$ sudo docker images

 

3.2 準備目錄

 #進入用戶根目錄
 $ sudo cd ~
 #創建文件夾
 $ sudo mkdir -p /root/Downloads/redis/conf
 $ sudo mkdir -p /root/Downloads/redis/data
 #進入到conf目錄
 $ sudo cd /root/redis/redis01/conf
 #下載一個redis.conf文件[如果太慢,直接網頁下載上傳到服務器目錄]
 $ sudo wget http://download.redis.io/redis-stable/redis.conf

 

3.3 啟動redis

因為默認鏡像沒有配置文件,要是宿主主機連接,我們要掛載配置文件目錄

#進入這個目錄
$ sudo cd /root/Downloads/redis
#啟動redis容器
$ sudo docker run -p  6379:6379 --privileged=true --name redis -v $PWD/conf/redis.conf:/etc/redis/redis.conf -v $PWD/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

 

3.4 查看正在運行的容器

 

$ sudo docker container ps

 

開發機直連 Docker 中的 Redis 容器小教程

 

3.5 測試redis是否正常

 

// 查看正在運行的容器
$ sudo docker ps  
//進入容器內部
$ sudo docker exec -it <CONTAINER ID> /bin/bash 
//退出
ctrl + D

 

開發機直連 Docker 中的 Redis 容器小教程

3.6 修改redis配置文件

vim基本操作

# 本來
bind 127.0.0.1
protected-mode yes

#更改為
# bind 127.0.0.1
protected-mode no
requirepass milo

 

重啟redis容器

開發機直連 Docker 中的 Redis 容器小教程

四.宿主主機連接redis

4.1 客戶端工具連接測試

首先,查看工具連接linuxip,筆者的如下:

開發機直連 Docker 中的 Redis 容器小教程

使用RedisDesktopManager工具測試

開發機直連 Docker 中的 Redis 容器小教程

4.2 開發機連接測試

首先,我們修改配置文件中redis的連接ip,然后啟動項目,訪問一個帶有緩存的頁面,我們去redis容器中看看是否有指定key

開發機直連 Docker 中的 Redis 容器小教程

五.總結

經過上面的一頓操作,我們以后開發機直接連接redis容器,也能多熟悉linux系統,謝謝大家閱讀

posted on 2020-04-29 15:38  Java知音號  閱讀(...)  評論(...編輯  收藏

導航

美人江湖手游