在服务器上用docker启动Redis
docker通过配置文件启动redis
默认服务器上已经安装了docker,下面是docker上面一些基本的命令
docker image prune -a //一键删除没用使用的镜像(慎用) docker exec -it 容器id bash // 进入到容器内部,其实容器就是一个独立的空间,就相当于一个新的服务器
在服务器上查看docker相关内容
有一天我突然想查看docker在服务器的位置,但是不知道在哪里,平时我们都是直接查看的容器或者镜像,所以我们还是通过直接查看容器来找到容器所在的位置,从而根据容器的位置查看到docker的位置
docker ps -a //查看所有的容器 docker inspect 容器id //进入容器 docker inspect 容器id |grep HostsPath //查看到容器的位置
/var/lib/docker/containers/9c01f679f18200a9bd630a6d43eb26fb81a1757339ef13f655138700477d973a/hosts
这个是我查看到的,所以docker的位置也在这里。但是值得一提的是,我们无法从服务器直接进入到容器,必须在容器启动后,我们通过命令 `docker exec -it 容器id bash` 名来进入到容器里面
docker通过配置文件启动redis
首先,配置文件需要我们自己下载,如果我们使用最简单的命令启动redis的话,我们是没有配置文件的,没有配置文件的话,好多东西都会出现问题。当时我就是为了找这个配置文件,费了我一个下午的时间,后来在别人的帮助下,才知道,我原来的方式本来就没有配置文件。我们必须自己下载一个,然后通过制定配置文件的方式来启动docker。
docker pull redis //拉取镜像 然后把配置文件放到位,具体放在/usr/local/redis/conf/下(如果没有这个文件夹,自己mkdir创建即可) 接下来的话,启动容器 docker run -d --privileged=true -p 6379:6379 --restart always -v /usr/local/redis/conf/redis.conf:/etc/redis.conf -v /root/usr/local/redis/data:/data --name redisStudy redis redis-server /etc/redis.conf -p :指定映射端口号 -v :本机和容器的挂载目录,我们本机(阿里云服务器)的/usr/local/redis/conf文件夹下面我已经下载了一个redis.conf配置文件,我们把这个配置文件映射到容器内部的/etc/文件夹下面,-v /root/usr/local/redis/data:/data也是同理。 还有值得注意的是,我们后面要加上redis-server /etc/redis.conf这个通过指定的配置文件(也就是我们自己下载的)来启动redis,如果我们使用默认的配置文件(自带的)来启动,会出现一些问题,比如说到现在我也没有找到这个默认的配置文件在哪里,所以当我想要修改一些配置的时候,就比较麻烦。
问题:启动的过程中如果出现端口被占用
我们可以参考这篇博客,找到这个端口是被什么进程占用了,有必要的话,那这个进程删掉。具体可以参考这个博客 Error starting userland proxy: listen tcp4 0.0.0.0:6379: bind: address already in use._LeslieTsai2019的博客-CSDN博客 解决掉端口问题,我们就把redis容器启动了
问题:我们启动的redis无法被第三方可视化工具连接
解决:我们在/etc文件夹下面可以找到我们的配置文件,我们需要去找到配置文件里面的一些配置进行修改。
requirepass zhangsan2019@ #密码 bind 127.0.0.1 #注释掉,允许外网访问 protected-mode no #启用保护模式
修改完之后,我们的第三方可视化工具就可以连接了,顺便我在上面修改配置文件的时候把密码也设置了一下,所以我们在连接的时候也要输入正确的密码才可以连接成功。
虽然看起来比较简单,但是其中讨论和细节多多,尤其是redsi.conf文件相关的操作。
更多推荐
所有评论(0)