在docker中執行中發現的一個問題,記錄一下,設置了&符號就會報錯
評論:::是docker的命令行不支持 不是redis不支持,你可以在redis的配置文件設置密碼是可以的。 請新搞清楚問題。
提醒一下大家問題所在.
這個是錯誤的時候命令,注意我設置了密碼爲&321123 不可以
[root@iz2ze06nozdtcsfc6w6r58z ~]# docker run --name myredis -p 6379:6379 -d redis:latest --requirepass "$321123"
d449df7a601f9a8504f9e3b8872cf6527807003b90c236c16e45f7e72d8c509c
[root@iz2ze06nozdtcsfc6w6r58z ~]# docker start myredis
myredis
[root@iz2ze06nozdtcsfc6w6r58z ~]# docker exec -it myredis redis-cli
127.0.0.1:6379> auth $321123
(error) ERR invalid password
127.0.0.1:6379>
我刪除了這個myredis以後,在重新run一個容器,這次設置密碼爲321123,可以
[root@iz2ze06nozdtcsfc6w6r58z ~]# docker run --name myredis -p 6379:6379 -d redis:latest --requirepass "321123"
b9a47e2037ba90da211df089d8e1ca4a2d02cb83d2a665345a753fd42497c719
[root@iz2ze06nozdtcsfc6w6r58z ~]# docker start myredis
myredis
[root@iz2ze06nozdtcsfc6w6r58z ~]# docker exec -it myredis redis-cli
127.0.0.1:6379> auth 321123
OK
再次測試設置爲Admin123,可以的
[root@iz2ze06nozdtcsfc6w6r58z ~]# docker run --name myredis -p 6379:6379 -d redis:latest --requirepass "Admin123"
b81114498ff30df07cf1bae0ba7e7f243b6d576374be11177f7f3c934594b374
[root@iz2ze06nozdtcsfc6w6r58z ~]# docker start myredis
myredis
[root@iz2ze06nozdtcsfc6w6r58z ~]# docker exec -it myredis redis-cli
127.0.0.1:6379> auth Admin123
OK
127.0.0.1:6379>
又順手測試了一下!123 ,不可以
[root@iz2ze06nozdtcsfc6w6r58z ~]# docker run --name myredis -p 6379:6379 -d redis:latest --requirepass "!123"
docker run --name myredis -p 6379:6379 -d redis:latest --requirepass "cd .."
c01f084dc249eb81fb6c22ce7af3f340833cd03a9171988dd9fb0185aa24dd59
[root@iz2ze06nozdtcsfc6w6r58z ~]# docker start myredis
myredis
[root@iz2ze06nozdtcsfc6w6r58z ~]# docker exec -it myredis redis-cli
127.0.0.1:6379> auth !123
(error) ERR invalid password
127.0.0.1:6379>
所以結論是redis密碼不支持特殊符號,至少!和$符號是不支持的