随着微服务的引入,越来越多的服务运行在容器中,redis也不例外。这一篇我们就来看看如何运行一个redis容器,以及实现数据持久化,导入个性化配置等等内容。
我是T型人小付,一位坚持终身学习的互联网从业者。喜欢我的博客欢迎在csdn上关注我,如果有问题欢迎在底下的评论区交流,谢谢。
准备条件
这里需要一台已经装好了docker的机器,例如我这台centos7机器安装的就是docker 18.09版本
[root@testmachine csdn]# docker -v
Docker version 18.09.3, build 774a1f4
同时需要先从dockerhub下载redis官方镜像到本地,我因为本地已经提前下载了,所以会显示如下
[root@testmachine csdn]# docker pull redis
Using default tag: latest
latest: Pulling from library/redis
Digest: sha256:7b84b346c01e5a8d204a5bb30d4521bcc3a8535bbf90c660b8595fad248eae82
Status: Image is up to date for redis:latest
需要科学上网才能访问dockerhub,请提前搭好梯子再做上述操作
然后就可以正式开始我们的操作了
原始镜像直接启动
下载的redis镜像可以直接启动,这时候就跟新安装redis采用默认配置启动一样,没有连接密码,默认端口6379。请确保6379端口没有被占用。
[root@testmachine csdn]# docker run -p 6379:6379 -d redis
e1ec6161f97faa0eb8e969634b31fa6f38c2dfb7a35714689fa619a325630939
[root@testmachine csdn]#
-p
是把宿主机的6379端口映射到了容器的6379端口,格式为-p host:container
启动以后就可以直接用客户端进行连接了
oot@testmachine bin]# ./redis-cli
127.0.0.1:6379>
但是这样子执行直接把一个没有密码的redis服务暴露给了外网。
最好是限制一下,只能被宿主机本地的客户端访问。
限制容器只能本地访问
停掉刚才的容器,并删除
[root@testmachine csdn]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e1ec6161f97f redis "docker-entrypoint.s…" 11 minutes ago Up 11 minutes 0.0.0.0:6379->6379/tcp awesome_rosalind
[root@testmachine csdn]# docker container kill e1
e1
[root@testmachine csdn]# d