欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Docker安装官方Redis镜像并启用密码认证

程序员文章站 2022-04-25 17:19:58
参考: 1.有特殊版本需求的可以查看redis镜像tag版本 3.2.11, 3.2, 3 (3.2/dockerfile) 3.2.11-32bit...

参考:

1.有特殊版本需求的可以查看redis镜像tag版本

3.2.11, 3.2, 3 (3.2/dockerfile)
3.2.11-32bit, 3.2-32bit, 3-32bit (3.2/32bit/dockerfile)
3.2.11-alpine, 3.2-alpine, 3-alpine (3.2/alpine/dockerfile)
4.0.9, 4.0, 4, latest (4.0/dockerfile)
4.0.9-32bit, 4.0-32bit, 4-32bit, 32bit (4.0/32bit/dockerfile)
4.0.9-alpine, 4.0-alpine, 4-alpine, alpine (4.0/alpine/dockerfile)

2.选择最新版latest

docker pull redis:latest
[root@localhost~]# docker pull redis:latest
latest: pulling from library/redis
4d0d76e05f3c: pull complete 
cfbf30a55ec9: pull complete 
82648e31640d: pull complete 
fb7ace35d550: pull complete 
497bf119bebf: pull complete 
89340f6074da: pull complete 
digest: sha256:166788713c58c2db31c41de82bbe133560304c16c70e53a53ca3cfcf35467d8a
status: downloaded newer image for redis:latest

3.启动容器并带密码

docker run --name redis-test -p 6379:6379 -d --restart=always redis:latest redis-server --appendonly yes --requirepass "your passwd"

-p 6379:6379 :将容器内端口映射到宿主机端口(右边映射到左边)
redis-server –appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置
requirepass “your passwd” :设置认证密码
–restart=always : 随docker启动而启动

4.查看容器

docker ps
[root@localhost~]# docker ps
container id    image           command         created       status       ports                     names
a126ec987cfe    redis:latest       "docker-entrypoint.s…"  4 minutes ago    up 4 minutes    0.0.0.0:6379->6379/tcp             redis-test
3645da72ece6    portainer/portainer    "/portainer"       7 days ago     up 7 days      0.0.0.0:9000->9000/tcp             sharp_lovelace
118ba79de20a    hwdsl2/ipsec-vpn-server  "/opt/src/run.sh"    12 days ago     up 12 days     0.0.0.0:500->500/udp, 0.0.0.0:4500->4500/udp  l2tp-vpn-server
848fdba6de60    kylemanna/openvpn     "ovpn_run"        12 days ago     up 12 days     1194/udp, 0.0.0.0:1194->1194/tcp        openvpn
a273504f9646    mysql:5.6.38       "docker-entrypoint.s…"  8 weeks ago     up 5 days      0.0.0.0:3306->3306/tcp             mysql5.6.38

redis容器的id是 a126ec987cfe

5.查看进程

ps -ef|grep redis
[root@localhost~]# ps -ef|grep redis
polkitd 26547 26535 0 14:58 ?    00:00:00 redis-server *:6379
root   26610 26432 0 15:05 pts/0  00:00:00 grep --color=auto redis

6.进入容器执行redis客户端

docker exec -it a126ec987cfe redis-cli -a 'your passwd'
[root@localhost~]# docker exec -it a126ec987cfe redis-cli -h 127.0.0.1 -p 6379 -a 'your passwd'
127.0.0.1:6379> ping
pong
127.0.0.1:6379> info
# server
redis_version:4.0.9
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:d3ebfc7feabc1290
redis_mode:standalone
os:linux 3.10.0-693.21.1.el7.x86_64 x86_64
...

-h 127.0.0.1 :默认不加为-h 127.0.0.1
-p 6379 :默认不加为 -p 6379

或者连接的时候不带密码,如下:

[root@localhost ~]# docker exec -it a126ec987cfe redis-cli
127.0.0.1:6379> ping
(error) noauth authentication required.
127.0.0.1:6379> auth 'your passwd'
ok
127.0.0.1:6379> ping
pong
127.0.0.1:6379> info
# server
redis_version:4.0.9
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:d3ebfc7feabc1290
redis_mode:standalone
os:linux 3.10.0-693.21.1.el7.x86_64 x86_64
arch_bits:64

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。