docker pull redis
docker volume create redis-config docker volume create redis-data
Konfigurationsdateien und Daten
erstellt. Sie können diese auch selbst benennen.3. Erstellen und schreiben Sie die Konfigurationsdatei. Geben Sie zunächst das Daten-Volume-Verzeichnis der Konfigurationsdatei ein. Sie können den Speicherort des Daten-Volumes über den Befehl docker volume inspect
anzeigen:
docker volume inspect redis-config
redis.conf</ code> und fügen Sie den folgenden Inhalt hinzu: <h3><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">requirepass 12345678
dir /data</pre><div class="contentsignin">Nach dem Login kopieren</div></div></h3>Das Passwort ist auf <code>12345678
und das Datendateispeicherverzeichnis auf / eingestellt. Daten
. Diese Konfigurationen können automatisch konfiguriert werden. Weitere Informationen zur Konfiguration finden Sie in diesem Blog. docker volume inspect
命令查看数据卷的位置:
docker run -id --name=redis -v redis-config:/usr/local/etc/redis -v redis-data:/data -p 6379:6379 -e LANG=C.UTF-8 redis su -l root -c "redis-server /usr/local/etc/redis/redis.conf"
进入目录后创建名为redis.conf
的文件,并加入如下内容:
su -l root -c "redis-server /usr/local/etc/redis/redis.conf"
这里设置了密码为12345678
,设定了数据文件存放目录为/data
,这些配置都可以自定义,更多配置可以参考这篇博客。
执行下列命令:
rrreee上述参数如下:
-v
指定数据卷,可见将容器内/usr/local/etc/redis
挂载至了数据卷redis-config
,将容器内/data
挂载至数据卷redis-data
,可见这里挂载数据卷的容器内路径和我们上述预先写的配置文件中对应的路径是要一致的
-p
用于暴露端口
-e
用于指定容器内环境变量,设置容器的语言环境变量LANG
值为C.UTF-8
,这个最好是要设置,否则容器内默认是英文环境,使得Redis可能无法存放中文内容
末尾是启动命令,单独拿出来看一下:
rrreee意思是在容器内以root
身份运行redis-server
并指定了配置文件位置。
之所以要以root
身份运行,是因为防止其没有权限将数据写入到磁盘。也可见最后指定的配置文件路径,和前面-v
挂载的配置文件数据卷的容器内路径一致,这里好理解,但是要注意,如果你是自定义别的路径与文件名就需要在-v
4. Erstellen und starten Sie den Container
-v code> Geben Sie das Datenvolumen an. Es ist ersichtlich, dass <code>/usr/local/etc/redis
im Container auf dem Datenvolumen redis-config
und /data
im Container wird auf das Datenvolumen geladen redis-data
Es ist ersichtlich, dass der Pfad im Container, in dem das Datenvolumen gemountet wird, mit dem entsprechenden übereinstimmen muss Pfad in der vorab geschriebenen Konfigurationsdatei, die wir oben geschrieben haben. 🎜🎜
-p
wird verwendet, um den Port freizugeben🎜- e
wird verwendet, um Umgebungsvariablen innerhalb des Containers anzugeben und die Sprachumgebungsvariable des Containers festzulegen. Der LANG
-Wert ist C.UTF-8
Um dies festzulegen, ist die Standardumgebung im Container sonst möglicherweise Englisch, was dazu führen kann, dass Redis keine chinesischen Inhalte speichern kann🎜redis-server
als root
im Container auszuführen und den Speicherort der Konfigurationsdatei anzugeben. 🎜🎜Der Grund, warum es als root
ausgeführt werden muss, besteht darin, zu verhindern, dass es ohne Erlaubnis Daten auf die Festplatte schreibt. Es ist auch ersichtlich, dass der zuletzt angegebene Konfigurationsdateipfad mit dem Pfad im Container des zuvor mit -v
gemounteten Konfigurationsdatei-Datenvolumens übereinstimmt. Dies ist hier leicht zu verstehen, aber bitte beachten Sie wenn Sie andere Pfade anpassen und der Dateiname beim Mounten mit -v
und beim endgültigen Starten der angegebenen Konfiguration geändert werden muss. Schließlich können Sie den Client verwenden, um eine Verbindung zu Redis auf dem Server herzustellen! 🎜Das obige ist der detaillierte Inhalt vonSo installieren und stellen Sie die Redis-Datenbank mit Docker bereit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!