上车
今天我们尝试在 mac 下面用 docker 安装redis .
发车
1、docker环境必须与装好 可以在 docker官网下载。
2、去dockerhub找到对应的redis官方镜像 https://hub.docker.com/_/redis 我想装的是4.0版本 去对应的4.0的 git上面 拉代码。 https://github.com/docker-library/redis/tree/0b2910f292fa6ac32318cb2acc84355b11aa8a7a/4.0
记得这2个文件都要
上图我们需要这2个文件:
- DockerFile 是 dockerFile 文件 提供构建镜像的代码
- docker-entrypoint.sh 在启动容器时,可以通过 shell 脚本执行些预处理逻辑
3、
我们把这2个文件搞下来后 随便找个目录 执行 build 语句
docker build -t myredis .
就会制作生成 docker 镜像 这里有个小问题要注意 一定要把 docker-entrypoint.sh 给加上可执行权限 否则会报错 :
docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: "docker-entrypoint.sh": executable file not found in $PATH": unknown.
4、
然后build好后 我们根据制作好的镜像来启动实例 ,启动命令是 :
docker run -i -t -p 6379:6379 --name myredis -v /Users/liangtian/mydocker/redis_test/redis.conf:/etc/redis/redis.conf -v /Users/liangtian/mydocker/redis_test/data:/data -d myredis:latest redis-server /etc/redis/redis.conf --appendonly yes
这里我们挂载了2个路径 一个是 docker的 data文件 表示我们redis永久存储,还有一个是 redis.conf 表示我们在外部可以动态的修改配置. redis.conf 这个文件可以在 redis 官网 https://redis.io/ 下载
注意 默认需要修改 redis.conf 几个配置
- daemonize no#用守护线程的方式启动
- bind 192.168.1.1 #注释掉这部分,使redis可以外部访问
- requirepass yourpassword#给redis设置密码
- appendonly yes#redis持久化
然后启动后 就我们的redis就大功告成了
到站
查看已经启动的docker
进入redis里面
docker exec -it myredis /bin/bash
查询数据