Docker desktop安装redis的实现方法步骤
本文主要介绍了docker desktop安装redis的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
1.拉取redis镜像
docker pull redis:latest
查看镜像
PS C:WindowsSystem32> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis latest 0e403e3816e8 3 days ago 113MB
mysql 5.7 ae552624b4bd 5 days ago 448MB
docker
/getting-started
latest 26d80cd96d69 3 months ago 28.5MB
hello-world latest feb5d9fea6a5 5 months ago 13.3kB
2.创建redis配置文件,为挂载操作做准备
在D盘创建2个文件夹
conf目录用于挂载配置文件
data目录用于存放数据持久化文件
在conf文件夹新建redis.conf文件,内容如下
#用守护线程的方式启动 后台运行
daemonize no
#给redis设置密码
requirepass 123456
#redis持久化 默认是no
appendonly
yes
#防止出现远程主机强迫关闭了一个现有的连接的错误 默认是300
tcp-keepalive 300
3.构建并启动redis容器
映射到宿主16379端口
docker run --name redis -p 16379:6379 -
v
/D/docker/redis/conf/redis
.conf:
/etc/redis/redis_6379
.conf -
v
/D/docker/redis/data
:
/data/
-d redis:latest redis-server
/etc/redis/redis_6379
.conf --appendonly
yes
- –name=“容器新名字”:为容器指定一个名称
- -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
- -d: 后台运行容器,并返回容器ID
- -v /D/docker/redis/conf/redis.conf:/etc/redis/redis_6379.conf 把宿主机配置好的redis.conf放到容器内的这个位置中
- -v /D/docker/redis/data:/data/ 把redis持久化的数据在宿主机内显示,做数据备份
- –net=host
4.查看容器已经在运行中
使用 QuickRedis客户端 测试链接
接下来就可以愉快的玩耍啦
进入容器
auth “123456” 注意是字符串格式的密码
redis-cli表示运行一个redis客户端 (-a 123456 指定密码)
业务代码key格式 采用 ** : 分割** user:token:10001
常见命令
keys * 匹配查找key 由于单线程 key很多时候 效率会降低
help @groupname ex: help @string 也可以直接命代码 tab会有提示
del key 删除一个key
EXISTS key [key ...] 查看key是否存在
expier key 1 给key设置有效期单位秒
ttl key 查看key的有效期剩余 单位秒
查看镜像:docker images
获取一个新镜像:docker pull 镜像(ubuntu:16.04)
创建镜像:1、从已经创建的容器中更新镜像,并提交这个镜像;2、使用Dockerfile指令来创建一个新的镜像。
查看容器:docker
ps
-a(带-a是查看所有的,不带-a是查看启动的)
查看容器内运行的进程:docker
top
容器号
查看应用程序日志:docker logs -f 容器号
创建容器:docker run -it --name 容器名 镜像名
/bin/bash
启动容器:docker start 容器名/号
重启容器:docker restart 容器名/号
停止容器:docker stop 容器名/号
删除容器:docker
rm
容器名/号
进入容器:docker
exec
-it 容器名/号
/bin/bash
容器间通信要想多容器之间互通,从 Web 容器访问 mysql 容器,我们只需要把他们放到同个网桥中就可以了
设置网桥以后,容器之间天然互通
#查看现有网桥
docker network
ls
#新增我的网桥
docker network create -d bridge mysql_pageplug
# 网桥分别绑定两个容器name
docker
ps
docker network connect mysql_pageplug mysql8.0
docker network connect mysql_pageplug pageplug
# 查看我们的网桥组中容器的IP
docker network
ls
docker inspect mysql_pageplug
也可以在创建容器时使用网络别名(运行 Redis 在 test-net 网络中,别名redis) docker run -d --name redis --network test-net --network-alias redis redis:latest
当然 如果你使用 docker-compose 只需要描述依赖哪些服务放在一个yml文件下
# 创建网络
networks:
test_net:
driver:
bridge
其他网络命令
#主机模式启动
network_mode:
"host"
restart: always
指定网络网段和IP docker network create --subnet=172.18.0.0
/16
mynetwork
目录挂载为什么要目录挂载
- 使用 Docker 运行后,我们改了项目代码不会立刻生效,需要重新build和run,很是麻烦。
- 容器里面产生的数据,例如 log 文件,数据库备份文件,容器删除后就丢失了。
几种挂载方式
3. bind mount 直接把宿主机目录映射到容器内,适合挂代码目录和配置文件。可挂到多个容器上
4. volume 由容器创建和管理,创建在宿主机,所以删除容器不会丢失,官方推荐,更高效,Linux 文件系统,适合存储数据库数据。可挂到多个容器上5. tmpfs mount 适合存储临时文件,存宿主机内存中。不可多容器共享。
bind mount 方式用绝对路径 -v D:/code:/app 挂载数组代码-> 容器
volume 方式,只需要一个名字 -v db-data:/app
docker inspect mysql8.0
参数 “RW”: false的话表示只读模式,路径内文件不能被容器内程序修改
# 启动容器时挂载具名卷,Docker会为您创建该卷
docker run -d -p 1234:80 -
v
mynginx:
/usr/share/nginx/html
nginx:latest
docker volume
ls
docker (volume) inspect mynginx
“$(pwd)”/html
到此这篇关于docker desktop安装redis的实现步骤的文章就介绍到这了,更多相关docker desktop安装redis内容请继续浏览下面的相关文章!