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ī)訪問(wèn) 將其改為0.0.0.0
protected-mode no # 默認(rèn)yes,開啟保護(hù)模式,限制為本地訪問(wèn)
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 端口。外部可以直接通過(guò)宿主機(jī)ip:6379 訪問(wèn)到 Redis 的服務(wù)。
//未加-it可能會(huì)運(yùn)行不起來(lái)因?yàn)?,Docker容器后臺(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)文章希望大家以后多多支持腳本之家!