docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker desktop安装redis

docker desktop安装redis全过程

作者:百***5588

这篇文章主要介绍了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文件夹新建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

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 容器,我们只需要把他们放到同个网桥中就可以了

设置网桥以后,容器之间天然互通

   #查看现有网桥
   1 docker network ls
   #新增我的网桥
   2 docker network create -d bridge mysql_pageplug
   # 网桥分别绑定两个容器name
   3 docker ps
     docker network connect mysql_pageplug mysql8.0
     docker network connect mysql_pageplug pageplug
   # 查看我们的网桥组中容器的IP
   4 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网络

目录挂载

为什么要目录挂载

几种挂载方式

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文