查找Docker Hub上的redis镜像:docker search redis
下载:docker pull docker.io/redis
查看镜像:docker images
创建并运行容器:docker run --name=redis -p 6379:6379 -v /docker-redis:/data -d 4760dc956b2d redis-server --appendonly yes
并查看容器运行状态:docker ps
这里可以看到容易已经被创建并且运行,端口号为6379。
测试:
编写一个测试类,在Java代码中直接去连redis,可以看到已经可以正常使用。
回到容器中,查看通过Java代码插入的数据是否存在
通过docker exec -it 5e0d28d1079e redis-cli直接启动redis的客户端:
可以看到通过程序存入的key001的值确实存到数据库中。至此,redis容器创建成功。
问题:这里安装的redis容器没有做redis.conf配置文件的配置,但是redis默认是没有配置的,需要手动加配置。这里就需要在创建启动容器的时候添加配置。
创建一个 redis/data 目录,如果需要指定配置文件,那么请在redis目录下放一个redis.conf配置文件并做好配置修改。配置文件去redis安装包中找一个。
# docker run -p 6699:6379 --name myredis -v $PWD/redis.conf:/etc/redis/redis.conf -v $PWD/data:/data -d redis:3.2 redis-server --appendonly yes
命令说明:
--name myredis : 指定容器名称,这个最好加上,不然在看docker进程的时候会很尴尬。
-p 6699:6379 : 端口映射,默认redis启动的是6379,至于外部端口,随便加,不冲突就行。
-v $PWD/redis.conf:/etc/redis/redis.conf : 将主机中当前目录下的redis.conf配置文件映射。
-v $PWD/data:/data -d redis:3.2 : 将主机中当前目录下的data挂载到容器的/data
--redis-server --appendonly yes :在容器执行redis-server启动命令,并打开redis持久化配置。