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

開發機直連 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

三 安裝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

3.5 測試redis是否正常

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

3.6 修改redis配置文件
vim基本操作

本來

bind 127.0.0.1
protected-mode yes

更改爲

bind 127.0.0.1

protected-mode no
requirepass milo

重啓redis容器

四.宿主主機連接redis
4.1 客戶端工具連接測試
首先,查看工具連接linux的ip,筆者的如下:

使用RedisDesktopManager工具測試

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

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

原文地址https://www.cnblogs.com/javazhiyin/p/12802529.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章