Docker安裝Redis


以下操作均在虛擬機CentOS7中

一、Docker安裝與啓動

安裝

通過以下命令查看內核版本爲3.10,支持docker

uname -r
3.10.0-693.el7.x86_64

安裝一些必要的系統工具和添加軟件源信息

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安裝docker-ce即社區版

sudo yum -y install docker-ce

啓動

啓動docker後臺服務

sudo systemctl start docker

說明

docker默認安裝在/var/lib目錄下,啓動的容器將放在containers目錄下

[root@localhost docker]# pwd
/var/lib/docker
[root@localhost docker]# ls
containers image network overlay2 plugins swarm tmp trust volumes

二、安裝Redis

安裝

直接運行pull

docker pull redis5.0

查看鏡像,我pull一個最新版和5.0因此顯示兩條

[root@localhost containers]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/redis 5.0 a55fbf438dfd 4 weeks ago 95 MB
docker.io/redis latest a55fbf438dfd 4 weeks ago 95 MB

啓動redis

啓動redis-server

docker run --name some-redis -d redis redis-server --appendonly yes

啓動redis-cli

docker run -it --network some-network --rm redis redis-cli -h some-redis

報錯

docker: Error response from daemon: Conflict. The container name “/xxxx” is already in use …

出現上面錯誤是因爲容器重名了,可以換一個name啓動,也可以將原來容器刪除

docker container rm xxxx

自定義配置文件啓動

創建redis目錄並將redis.conf文件copy到目錄下

[root@localhost containers]# cd /home/redis
[root@localhost redis]# ls
redis.conf

自定義方式啓動

docker run -d --privileged=true -p 6379:6379 -v /home/redis/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data --name frog-redis redis redis-server /etc/redis/redis.conf --appendonly yes

–privileged=true 容器內的root擁有真正root權限,否則容器內root只是外部普通用戶權限
-p 6379:6379 端口映射
-v /home/redis/redis.conf:/etc/redis/redis.conf 映射配置文件
-v /home/redis/data:/data 把redis持久化的數據在宿主機內顯示,做數據備份
redis-server /etc/redis/redis.conf 這個是關鍵配置,讓redis不是無配置啓動,而是按照這個redis.conf的配置啓動
–appendonly yes redis啓動後數據持久化

如果報端口映射失敗,可以重啓一下docker

service docker restart

查看狀態

[root@localhost containers]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1196c78b1c78 redis “docker-entrypoint…” 17 seconds ago Up 16 seconds 0.0.0.0:6379->6379/tcp frog1-redis

測試連接

使用jedis客戶端測試

        Jedis jedis = new Jedis("192.168.74.10",6379);
        Set<String> keys = jedis.keys("*");
        System.out.println(keys); // [] 爲空但是說明連接通了
        jedis.close();

三、Docker常用簡單命令

查看當前正在運行容器

docker ps

查看所有容器狀態

docker ps -a

啓動或停止容器

docker start/stop id/name

查看本地鏡像

docker images

刪除容器

docker rm id/name

刪除鏡像

docker rmi id/name

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