码迷,mamicode.com
首页 > 其他好文 > 详细

docker 安装redis 并配置外网可以访问

时间:2020-02-04 10:33:12      阅读:335      评论:0      收藏:0      [点我收藏+]

标签:require   mys   需要   执行命令   orm   containe   bind   删除   range   

1. docker 拉去最新版本的redis

docker pull redis #后面可以带上tag号, 默认拉取最新版本

2. docker安装redis container

安装之前去定义我们的redis.conf文件, 这一步很重要,
在家目录新建文件目录 /root/conf
执行命令:

mkdir conf
chmod -R 777 conf
wget http://download.redis.io/redis-stable/redis.conf

3.创建docker容器,执行命令:

docker run -p 6379:6379 --name myredis -v $PWD/conf/redis.conf:/etc/redis/redis.conf -v $PWD/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

上面命令里的$PWD/data:/data 这个参数就可以持久化数据到宿主机里了 关闭再启用后数据也不会丢失

 如果关闭后,再次启动,需要删除之前启动container的记录,不然会报容器的名字冲突
 例:

[root@iZ2ze505h9bgsbp83ct28pZ ~]# docker run -p 6379:6379 --name myredis -v $PWD/conf/redis.conf:/etc/redis/redis.conf -v $PWD/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
docker: Error response from daemon: Conflict. The container name "/myredis" is already in use by container "0cc1c2eee857f7224bee22e151598052dc1c66689e8e4a1f235b21f13cda8520". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.
[root@iZ2ze505h9bgsbp83ct28pZ ~]# docker rm myredis
myredis
[root@iZ2ze505h9bgsbp83ct28pZ ~]# docker run -p 6379:6379 --name myredis -v $PWD/conf/redis.conf:/etc/redis/redis.conf -v $PWD/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
081b3009f089a0ff0d92a5996d774bae8efff40d234d6dec2b5a1ed1bdf6ea28

4, 查看容器常用的命令

docker ps -a  # 查看所有容器
docker ps # 查看正在运行的容器
docker rm myredis  #移除指定容器
docker rm $(docker ps -a -q)  #移除掉所有容器
docker restart container-id # 重启某个容器id或者容器名字
docker stop container-id # 关闭指定容器

5, 运行redis-cli 查看redis-server是否运行

执行命令:

docker exec -it container-id redis-cli
exit

6, 更改配置文件, 让宿主机可以访问redis-server

vim ~/conf/redis.conf

注释掉bind 127.0.0.1,
修改protected-mode no
设置密码(根据自己的需要)
 # requirepass foobared
requirepass yourpassword

然后重启容器, 让修改的配置文件生效, 执行命令:

docker restart container-id

参考文章:

# docker 安装redis 并配置外网可以访问
https://www.cnblogs.com/sandea/p/11769518.html
https://blog.csdn.net/flymoringbird/article/details/80717700  
#Docker在windows下的使用. docker 安装与使用
https://www.cnblogs.com/jinjiangongzuoshi/p/6538321.html

Docker获取容器(MySQL,Redis等)内部IP地址

参考:
https://blog.csdn.net/qq_39506912/article/details/89608131

//使用docker inspect命令获取容器/镜像的元数据。
docker inspect 容器id 

//获取指定容器的ip
docker inspect --format '{{ .NetworkSettings.IPAddress }}' 68f0d84be6ad

//获取所有容器ip
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

本机连接一下服务器上docker容器里的redis

语法

$ redis-cli -h host -p port -a password

-h 服务器地址 -p 端口号 -a 密码

$ redis-cli -h 182.92.123.123 -p 6379 -a whm2416@qq.com
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
182.92.234.23:6379> get name
"haima"
182.92.234.23:6379> 

运行flask-redis

docker run -d --link redis -p 5000:5000 --name flask-redis2 -e REDIS_HOST=redis wanghaima/flash-redis

-e REDIS_HOST=redis 是link到redis容器的container

docker 安装redis 并配置外网可以访问

标签:require   mys   需要   执行命令   orm   containe   bind   删除   range   

原文地址:https://www.cnblogs.com/haima/p/12258294.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!