Préface
L'avantage de l'installation conteneurisée de docker est qu'elle peut être installée rapidement avec quelques commandes, et plusieurs Redis peuvent être exécutés sur le même Linux en même temps sans affecter l'autre. Si la configuration est interrompue, supprimez facilement le conteneur et réexécutez le conteneur.
Explication détaillée des opérations de base d'installation de Docker et Docker: https://blog.csdn.net/qq_43290318/article/details/107743188
1. Tirez la dernière image
Entrepôt central: https://hub.docker.com/
Le numéro de version du dernier miroir que j'ai tiré est: 6.0.9
# 拉取最新的镜像
docker pull redis
# 查看所有镜像
docker images
# 删除某个镜像。其中 -f 表示强制删除
docker rmi -f 镜像名/id
4. Accédez au site officiel pour télécharger la version correspondante du fichier de configuration
Site officiel de Redis: https://redis.io/
Étant donné que le fichier de configuration redis.conf n'a pas été trouvé dans le conteneur Redis exécuté par Docker, nous devons télécharger la version correspondante du package compressé Redis sur le site officiel, puis télécharger le redis.conf sur notre Linux.
3. Exécutez le conteneur Redis
Commande complète:
docker run --privileged=true -v /data/redis/redis.conf:/usr/local/bin/redis.conf -v /data/redis/data:/data -p 6379:6379 --name redis01 -d redis redis-server /usr/local/bin/redis.conf
Analyse des paramètres:
1. --privileged = true: Avec ce paramètre ajouté, la racine du conteneur a de réels privilèges root. De plus ici, les éléments suivants doivent être testés. En général, je recommande également d'ajouter
2. -p 6379: 6379: Le mappage des ports de l'hôte et du conteneur, voici les ports d'écoute par défaut de Redis directement
3. --name redis01: Nommez le conteneur redis01
4. -d: Exécute le conteneur en arrière-plan et renvoie l'ID complet du conteneur (c'est-à-dire démarre le conteneur du démon)
Après avoir exécuté le conteneur Redis, il démarre un processus de journalisation, de sorte que -d n'a pas besoin d'être utilisé avec -it. Si vous voulez comprendre clairement, veuillez vous référer au blog dans la préface.
5 、 -v /data/redis/redis.conf:/usr/local/bin/redis.conf -v / data / redis / data: / data
Montez le fichier de configuration et le répertoire de données Redis. Le côté gauche des deux points est le répertoire hôte, et le côté droit des deux points est le chemin interne du conteneur!
(1) Si nous ne montons pas le fichier de configuration, nous devons modifier la configuration du conteneur Redis. Nous devons copier le fichier de configuration de l'hôte vers le conteneur Redis, puis entrer dans le conteneur pour modifier le fichier de configuration. Là n'est pas un éditeur de texte comme vim dans le conteneur Redis., Bien qu'il puisse être installé mais un peu gênant.
(2) Comment savons-nous où se trouvent les fichiers de configuration et les fichiers de base dans le conteneur Redis? Ainsi, nous pouvons docker exécuter un conteneur Redis à volonté, puis le saisir pour voir et comprendre la structure de répertoire approximative. Sous / usr / local / bin à l'intérieur du conteneur, nous avons vu les familiers redis-cli et redis-server, mais nous n'avons pas trouvé le fichier de configuration redis.conf (l'image ci-dessous n'était disponible qu'après l'avoir montée, pas à l'origine).
Pour vérifier qu'il n'y a bien aucun redis.conf dans le conteneur. Nous pouvons effectuer une recherche complète par commande:
# 进入redis03容器内部,并返回一个终端 # 它与 docker attach 有什么区别,请参看 前言 中的博客 docker exec -it redis03 /bin/bash # 全盘搜索redis.conf find / -name 'redis.conf'
Notez que si le paramètre --privileged = true n'est pas ajouté lors de l'exécution du conteneur au début, certains répertoires se verront refuser l'accès lors de la recherche en raison d'autorisations insuffisantes.
Afficher les logs du conteneur redis01: docker logs redis01
4. Modifiez le redis.conf dans l'hôte
Fichier de configuration détaillé: https://www.cnblogs.com/metu/p/9609604.html
Ici, il suffit de modifier les paramètres suivants:
bind 127.0.0.1 # Commentez cette partie, c'est pour restreindre redis uniquement à l'accès local
protected-mode no # Par défaut oui, l'ouverture du mode protégé restreindra l'accès local
port 6379 # Le numéro de port qui réécoute
daemonize no # Par défaut non, passer à yes signifie démarrer en tant que processus démon, qui peut s'exécuter en arrière-plan, à moins que le processus ne soit tué, le passage à yes fera échouer le mode de fichier de configuration.
bases de données 16 # Le nombre de bases de données (facultatif), vous pouvez le modifier pour voir s'il prend effet
appendonly yes # redis persistence (facultatif)
requirepass *** # Le mot de passe à saisir lors de la connexion
5. Redémarrez le conteneur pour que la configuration prenne effet
Modifiez et enregistrez le redis.conf dans l'hôte. Vérifions que le redis.conf à l'intérieur du conteneur en cours d'exécution a également été modifié à ce moment?
# 进入容器 docker exec -it redis01 /bin/bash # 查看配置文件的密码是否已修改 cat /usr/lcoal/bin/redis.conf | grep 'requirepass'
Vous devriez voir que le mot de passe que nous avons changé n'a pas pris effet. À ce stade, nous devons quitter le conteneur et redémarrer le conteneur
docker restart redis01
À ce stade, nous sommes allés vérifier le fichier de configuration dans le conteneur et avons constaté qu'il prenait effet.
6. Utilisez RedisDesktopManager pour vous connecter à distance
RedisDesktopManager est maintenant facturé. J'ai trouvé une version modifiée de RedisDesktopManager sur Internet et l'expérience est meilleure. https://github.com/qishibo/AnotherRedisDesktopManager/releases
Notez que si vous vous connectez à Redis sur le serveur cloud, n'oubliez pas d'ouvrir le port d'écoute Redis dans le groupe de sécurité.