Linux上使用docker啟動(dòng)redis并遠(yuǎn)程訪問的實(shí)現(xiàn)
一、centos7 上安裝 docker
1、安裝必要的一些系統(tǒng)工具
yum install -y yum-utils device-mapper-persistent-data lvm2
2、安裝 docker 的 yum 源
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo # 中央倉(cāng)庫(kù) yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 阿里倉(cāng)庫(kù)
3、安裝 docker
yum install docker-ce # 由于 repo 中默認(rèn)只開啟 stable 倉(cāng)庫(kù),故這里安裝的是最新穩(wěn)定版
可以查看所有倉(cāng)庫(kù)中所有 docker 版本,并選擇特定版本安裝
yum list docker-ce --showduplicates | sort -r
yum install docker-ce-20.10.9.ce
4、開啟 docker 服務(wù)
systemctl start docker # 啟動(dòng) Docker systemctl enable docker # 開機(jī)自啟
5、 驗(yàn)證 docker
docker version
有 client 和 service 兩部分表示 docker 安裝啟動(dòng)都成功了
二、docker 安裝 redis 并啟動(dòng)
1、docker 拉取 redis 鏡像
docker pull redis
2、查看本地鏡像
docker images
3、掛載配置文件
docker 安裝的 redis 默認(rèn)只能夠本地連接,不能進(jìn)行遠(yuǎn)程訪問,因此需要手動(dòng)掛載外部 redis 配置文件。
(1)在 Linux 任意目錄下創(chuàng)建存放 redis 配置文件和數(shù)據(jù)的目錄結(jié)構(gòu):/docker/redis/conf,/docker/redis/data。
(2)將配置文件 redis.conf 從官網(wǎng)下載下來放到配置文件目錄 /docker/redis/conf 下。
(3)修改以下配置:
- 1)bind 127.0.0.1 :注釋掉這部分,這是限制 redis 只能本地訪問
- 2)protected-mode no :默認(rèn)是yes,開啟保護(hù)模式,限制為本地訪問
- 3)requirepass 123456 :配置 redis 連接密碼,默認(rèn)是注釋的
- 4)dir ./ :更改本地redis數(shù)據(jù)庫(kù)存放文件夾(可選)
- 5)appendonly yes :redis 持久化,開啟了這個(gè) redis 就不會(huì)每次重啟時(shí)自動(dòng)清空了
4、創(chuàng)建容器并啟動(dòng) redis 服務(wù)端
docker run -itd -p 6379:6379 --name lhjredis -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data redis redis-server /etc/redis/redis.conf
1)–name:給容器起一個(gè)名字;
2)-p:端口映射(宿主機(jī)端口:容器端口);
3)-v:掛載自定義配置(自定義配置:容器內(nèi)部配置);
本命令共有兩個(gè)掛載:Linux 上自定義的 redis 配置(/docker/redis/conf/redis.conf)掛載到容器內(nèi) redis 應(yīng)用的默認(rèn)配置文件 /etc/redis/redis.conf;Linux 上自定義的數(shù)據(jù)存放目錄(/docker/redis/data)掛載到容器內(nèi) redis 應(yīng)用的默認(rèn)數(shù)據(jù)存放目錄(/data)。
這樣 docker 容器內(nèi)的 redis 應(yīng)用會(huì)使用 Linux 上自定義的配置文件,docker 容器內(nèi)的 redis 應(yīng)用的數(shù)據(jù)會(huì)放到 Linux 上自定義的數(shù)據(jù)存放目錄。
4)-d:后臺(tái)運(yùn)行;
5)redis-server --appendonly yes: 在容器執(zhí)行 redis-server 啟動(dòng)命令,并打開 redis 持久化配置;
5、啟動(dòng)成功,查看狀態(tài)
docker ps
6、進(jìn)入到啟動(dòng)的容器
docker exec -it myredis /bin/bash
執(zhí)行 docker exec -it 容器名 /bin/bash 命令可以進(jìn)入到啟動(dòng)的容器中;
exit 指令可以退出容器
7、在容器中使用 redis 客戶端
redis-cli
進(jìn)入容器后,使用以上命令啟動(dòng) Redis 客戶端,將連接到您的本地 Redis 服務(wù)器。
如果是連接其他服務(wù)器的 redis,則需要加參數(shù)(主機(jī)地址、端口號(hào)、密碼)
redis-cli -h xx.xxx.xx.xxx -p 6379 -a xxx
8、使用 Redis Desktop Manager 客戶端進(jìn)行連接
注意
- 當(dāng)啟動(dòng)容器端口報(bào)錯(cuò)時(shí),可以通過netstat -lntp | grep 6379查看哪個(gè)程序在占用
- 可以通過 sudo kill 6379 殺掉占用端口的程序
- 如果使用阿里云等,請(qǐng)務(wù)必把相應(yīng)端口打開
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
超詳細(xì)Docker Desktop下安裝rocketmq的教程
這篇文章主要介紹了Docker Desktop下安裝rocketmq,本文內(nèi)容通過圖文操作命令給大家講解的非常詳細(xì),需要的朋友可以參考下2021-10-10docker-compose啟動(dòng)mongo容器的使用
這篇文章主要介紹了docker-compose啟動(dòng)mongo容器的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01用Docker swarm快速部署Nebula Graph集群的教程
這篇文章主要介紹了用Docker swarm快速部署Nebula Graph集群的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09Docker中數(shù)據(jù)卷(volume)管理的兩種方式
數(shù)據(jù)卷有兩種形式,一種是容器中的某個(gè)目錄,它可以被別的容器引用,只要有一個(gè)容器引用了這個(gè)數(shù)據(jù)卷,數(shù)據(jù)就不會(huì)被刪除;另一種數(shù)據(jù)卷是將容器中的數(shù)據(jù)卷和宿主機(jī)的目錄進(jìn)行掛載。 數(shù)據(jù)卷可以在多個(gè)容器之間共享,修改數(shù)據(jù)卷不會(huì)影響鏡像2021-07-07Docker報(bào)錯(cuò)denied:requested access to the r
這篇文章主要為大家介紹了Docker報(bào)錯(cuò)denied:requested access to the resource is denied解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06深入理解Docker Load和Docker Import的區(qū)別詳解
Docker是一個(gè)流行的容器化平臺(tái),提供了豐富的命令和功能,其中docker load和docker import是兩個(gè)常用的命令,用于加載Docker鏡像,這篇文章主要給大家介紹了關(guān)于Docker Load和Docker Import區(qū)別的相關(guān)資料,需要的朋友可以參考下2024-03-03