在docker中部署并啟動(dòng)redis的方法
docker部署redis
首先在linux中安裝上Docker,然后啟動(dòng)Docker服務(wù)
Centos7中 啟動(dòng)Docker systemctl start docker //啟動(dòng)docker systemctl stop docker //停止docker systemctl restart docker //重啟docker
查找想要拉取的鏡像
1. 直接在Linux中使用docker search 鏡像名稱 搜索鏡像
docker search 鏡像名稱
2. 在DockerHub官網(wǎng)上查找
使用docker pull 鏡像名稱 拉取鏡像
docker pull redis //不指定版本號(hào),默認(rèn)拉取最新。 docker pull redis:6.0.8
拉取完鏡像后,使用docker images查看已經(jīng)拉取的鏡像
docker images docker rmi 鏡像ID //刪除鏡像
在運(yùn)行之前對(duì)redis進(jìn)行一些配置
redis.conf的配置文件可以在 http://download.redis.io/redis-stable/redis.conf 上下載
使用 mkdir /usr/local/docker 在宿主機(jī)上創(chuàng)建存放docker目錄 vi /usr/local/docker/redis.conf 在docker中創(chuàng)建redis的配置文件redis.conf 將下載好的redis.conf文件替換或?qū)?nèi)容復(fù)制到自己創(chuàng)建的配置文件中 然后修改配置 bind 127.0.0.1 //127.0.0.1 限制只能本機(jī)訪問 將其改為0.0.0.0 protected-mode no # 默認(rèn)yes,開啟保護(hù)模式,限制為本地訪問 daemonize no 默認(rèn)no,改為yes意為以守護(hù)進(jìn)程方式啟動(dòng),yes會(huì)使配置文件方式啟動(dòng)redis失敗(一開啟就退出)
運(yùn)行指定鏡像
1. $ docker run -itd --name redis-test -p 6379:6379 redis 2. $ docker run -itd -p 192.168.220.129:6379:6379 --name redis -v /usr/local/docker/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/data:/data redis redis-server /etc/redis/redis.conf -d 以守護(hù)線程的方式運(yùn)行(后臺(tái)運(yùn)行) -i 以交互模式運(yùn)行容器 -t 為容器重新分配一個(gè)偽輸入終端 -p 映射容器服務(wù)的 6379 端口到宿主機(jī)的 6379 端口。外部可以直接通過宿主機(jī)ip:6379 訪問到 Redis 的服務(wù)。 //未加-it可能會(huì)運(yùn)行不起來因?yàn)椋珼ocker容器后臺(tái)運(yùn)行,就必須有一個(gè)前臺(tái)進(jìn)程,容器運(yùn)行的命令不是那些一直掛起的命令(比如運(yùn)行top,tail),會(huì)自動(dòng)退出 -v /usr/local/docker/redis.conf:/etc/redis/redis.conf //把宿主機(jī)配置好的redis.conf掛載到容器內(nèi)的指定位置 -v /usr/local/docker/data:/data //把redis持久化的數(shù)據(jù)掛載到宿主機(jī)內(nèi),做數(shù)據(jù)備份 redis-server /etc/redis/redis.conf //使redis按照redis.conf的配置啟動(dòng) –appendonly yes //redis啟動(dòng)后數(shù)據(jù)持久化
運(yùn)行之后對(duì)容器進(jìn)行操作
1. 查看運(yùn)行中的容器 docker ps
2. 查看所有的容器 docker ps -a
3. 進(jìn)入容器 docker exec -it 容器ID /bin/bash
4. 停止所有的容器 docker stop $(docker ps -q)
5. 刪除所有的容器 docker rm $(docker ps -aq)
6. 停止并刪除全部 docker stop $(docker ps -q) & docker rm $(docker ps -aq)
出現(xiàn)錯(cuò)誤
Docker容器做端口映射報(bào)錯(cuò)
docker: Error response from daemon: driver failed programming external connectivity on endpoint lamp3 (46b7917c940f7358948e55ec2df69a4dec2c6c7071b002bd374e8dbf0d40022c): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 86 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.
解決方法
重啟docker服務(wù)
systemctl restart docker
到此這篇關(guān)于在docker中部署并啟動(dòng)redis的方法的文章就介紹到這了,更多相關(guān)docker中部署啟動(dòng)redis內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker 使用nsenter工具進(jìn)入容器的操作
這篇文章主要介紹了Docker 使用nsenter工具進(jìn)入容器的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11docker中mysql初始化及啟動(dòng)失敗問題解決方案
這篇文章主要介紹了docker中mysql初始化及啟動(dòng)失敗問題解決方案的相關(guān)資料,需要的朋友可以參考下2016-10-10docker離線部署docker,部署業(yè)務(wù)方式
這篇文章主要介紹了docker離線部署docker,部署業(yè)務(wù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01docker容器間互相訪問(docker bridge網(wǎng)絡(luò))
本文主要介紹了docker容器間互相訪問(docker bridge網(wǎng)絡(luò)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01