重慶建網(wǎng)站多少錢百度指數(shù)是免費(fèi)的嗎
步驟一:拉取Redis鏡像
docker pull redis
這個(gè)命令會下載最新版本的Redis鏡像到你的本地Docker倉庫中。你也可以指定一個(gè)具體的版本號,例如docker pull redis:6.2.6,來拉取特定版本的Redis鏡像。
如果拉取遇到問題請參考【Linux AnolisOS】關(guān)于Docker的一系列問題。尤其是拉取東西時(shí)的網(wǎng)絡(luò)問題,鏡像源問題。-CSDN博客
拉取完后需要
創(chuàng)建一個(gè)目錄用于存放 Redis 配置和數(shù)據(jù):
存放配置
mkdir -p /myredis/redis/conf
存放數(shù)據(jù)
mkdir -p /myredis/data
創(chuàng)建配置文件redis.conf
sudo nano /myredis/redis/conf/redis.conf
配置文件redis.conf
# 開啟密碼驗(yàn)證(可選)
# requirepass xxx# 允許redis外地連接,需要注釋掉綁定的IP
# bind 127.0.0.1# 關(guān)閉保護(hù)模式(可選)
protected-mode no# 注釋掉daemonize yes,或者配置成 daemonize no。因?yàn)樵撆渲煤?docker run中的 -d 參數(shù)沖突,會導(dǎo)致容器一直啟動失敗
daemonize no# 開啟redis數(shù)據(jù)持久化, (可選)
appendonly yes
小提示:
更改linux的文件名字/myredis/redis/conf/redis.config改成/myredis/redis/conf/redis.conf
mv /myredis/redis/conf/redis.config /myredis/redis/conf/redis.conf
步驟二:啟動Redis容器
拉取完鏡像后,你可以使用`docker run`命令來啟動一個(gè)Redis容器。以下是一個(gè)基本的啟動命令:
docker run -d --name my-redis -p 6379:6379 redis
- `-d`:表示以后臺模式運(yùn)行容器。
- `--name my-redis`:指定容器的名稱為`my-redis`,你可以根據(jù)需要修改這個(gè)名稱。
- `-p 6379:6379`:將主機(jī)的6379端口映射到容器的6379端口,這樣你就可以通過主機(jī)的IP地址和端口來訪問Redis服務(wù)了。
- `redis`:表示要運(yùn)行的鏡像名稱。
也可以
使用以下命令啟動Redis容器,并將配置文件和數(shù)據(jù)目錄掛載到容器中
docker run --name myredis --privileged=true \
-p 6379:6379 \
-v /myredis/data:/data \
-v /myredis/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
參數(shù)說明
--name:設(shè)置容器名為redis。
-p 6379:6379:將容器的6379端口映射到宿主機(jī)的6379端口。
-v /myredis/data:/data:將宿主機(jī)的data目錄掛載到容器的/data目錄,用于數(shù)據(jù)持久化。
-v /myredis/redis/conf/redis.conf:/etc/redis/redis.conf:將宿主機(jī)的redis.conf配置文件掛載到容器的/etc/redis/redis.conf,使用自定義的配置文件啟動Redis。
-d:以守護(hù)進(jìn)程模式運(yùn)行容器。
redis redis-server /etc/redis/redis.conf:指定容器啟動后執(zhí)行的命令,即用redis-server啟動Redis服務(wù),并使用/etc/redis/redis.conf配置文件。
步驟三:驗(yàn)證Redis容器是否啟動成功
你可以使用
docker ps
命令來查看當(dāng)前正在運(yùn)行的容器列表,以驗(yàn)證Redis容器是否啟動成功。
然后
檢查配置文件
cat /myredis/redis/conf/redis.conf
檢查容器內(nèi)部配置文件
docker exec -it 運(yùn)行著Redis服務(wù)的容器ID /bin/bash
跟著紅框一步一步走
然后就是
ipconfig
找到紅框ip
寫到navicat里就行了。
希望:每次打開虛擬機(jī)都要自己啟動redis所以想要讓redis在打開虛擬機(jī)后自己啟動
設(shè)置docker開機(jī)啟動
sudo systemctl enable docker
對于redis
Docker提供了幾種重啟策略,以幫助管理和維護(hù)容器的運(yùn)行狀態(tài)。以下是關(guān)于always、unless-stopped、on-failure這三種重啟策略的詳細(xì)介紹:
看下策略之間先看下面的注意:
-
always策略
-
行為:無論容器的退出原因是什么,Docker都會自動重啟該容器。
-
適用場景:這個(gè)策略適用于需要持續(xù)運(yùn)行的關(guān)鍵服務(wù),如Web服務(wù)器、數(shù)據(jù)庫、消息隊(duì)列等。它確保這些服務(wù)在發(fā)生任何故障時(shí)都能自動恢復(fù),從而提高系統(tǒng)的可靠性和可用性。
-
命令示例:
docker run --restart=always (容器id或者容器名)
-
-
unless-stopped策略
-
行為:只要容器沒有被手動停止,Docker就會自動重啟它。如果容器被手動停止了,則不會自動重啟,除非再次手動啟動。
-
適用場景:這個(gè)策略提供了更靈活的重啟選項(xiàng)。它適用于那些需要在維護(hù)、升級或調(diào)試期間暫時(shí)停止的服務(wù),但又不希望這些服務(wù)在停止后自動重啟的情況。
-
命令示例:
docker run --restart=unless-stopped (容器id或者容器名)
注意:當(dāng)你使用 docker run 命令時(shí),你實(shí)際上是在創(chuàng)建一個(gè)新的容器實(shí)例。如果你想要重啟一個(gè)已經(jīng)存在的容器,你應(yīng)該使用 docker restart 命令,而不是再次運(yùn)行 docker ru,或者docker update
這里不知道為什么用redis,他老是說沒這個(gè)容器,只好用容器id了(容器id怎么看,前面已經(jīng)教了哈)
查看是否設(shè)置成功,檢查RestartPolicy內(nèi)容 docker inspect 容器id或者名
就是找到這個(gè)說明就OK了
我才發(fā)現(xiàn)有叫redis的和redis鏡像的,分明兩個(gè)都是redis
-
docker inspect redis
可能是因?yàn)槲依〉氖莚edis:latest,隨著官方更新它也會跟著更新,所以運(yùn)行時(shí)可能是其redis容器再分的容器,而redis這個(gè)大容器要保持和官方最新一直,以保證如果我們一直運(yùn)行目前版本,也能更新。也確實(shí)可以看到,這個(gè)正在運(yùn)行的容器確實(shí)是redis這個(gè)大容器的id的鏡像。
小知識:
redis:latest
是一個(gè) Docker 鏡像標(biāo)簽,它指向 Redis 官方鏡像的最新版本。當(dāng)你使用 docker pull redis:latest
命令時(shí),Docker 會從 Docker Hub(一個(gè)流行的 Docker 鏡像倉庫)上拉取 Redis 官方鏡像的最新穩(wěn)定版本。
以下是對 redis:latest
的詳細(xì)解釋:
-
鏡像名稱:
redis
是鏡像的名稱,它指的是 Redis 數(shù)據(jù)庫系統(tǒng)。 -
標(biāo)簽(Tag):
latest
是鏡像的標(biāo)簽,用于指定要拉取的鏡像版本。latest
標(biāo)簽通常指向該鏡像的最新穩(wěn)定版本。然而,需要注意的是,latest
標(biāo)簽可能會隨著 Redis 的新版本的發(fā)布而更新,因此它可能不是完全固定的。 -
官方鏡像:由于
redis:latest
是官方鏡像的一部分,因此你可以放心地使用它,因?yàn)樗?jīng)過了官方的測試和驗(yàn)證。 -
更新頻率:隨著 Redis 的新版本發(fā)布,
redis:latest
標(biāo)簽所指向的鏡像也會相應(yīng)更新。這意味著,如果你經(jīng)常拉取redis:latest
鏡像,你將獲得 Redis 的最新功能和修復(fù)。
使用 redis:latest
鏡像的優(yōu)點(diǎn)包括:
-
方便性:由于
latest
標(biāo)簽始終指向最新版本,因此你無需指定版本號即可獲得最新的 Redis 鏡像。 -
兼容性:官方鏡像通常與 Redis 的最新版本保持兼容,因此你可以放心地在生產(chǎn)環(huán)境中使用它。
然而,使用 redis:latest
鏡像也有一些潛在的風(fēng)險(xiǎn):
-
不穩(wěn)定性:由于
latest
標(biāo)簽指向的是最新版本,因此它可能包含一些尚未被充分測試的新功能和修復(fù)。這可能導(dǎo)致一些未知的問題或不穩(wěn)定的行為。 -
版本變化:由于
latest
標(biāo)簽可能會隨著新版本的發(fā)布而更新,因此你的容器可能會在不通知的情況下自動升級到新版本。這可能會導(dǎo)致與現(xiàn)有代碼或配置的兼容性問題。
為了降低這些風(fēng)險(xiǎn),你可以考慮使用具有特定版本號的 Redis 鏡像(例如 redis:6.2
),以確保你的容器始終運(yùn)行在同一版本的 Redis 上。這樣可以提供更好的穩(wěn)定性和可預(yù)測性。