Heim Betrieb und Instandhaltung Docker So mounten Sie ein Verzeichnis, ohne Docker neu zu starten

So mounten Sie ein Verzeichnis, ohne Docker neu zu starten

Apr 19, 2023 pm 05:25 PM

Mit der Popularität von Docker wurde begonnen, eine große Anzahl von Anwendungen in Docker-Containern bereitzustellen. Die Portabilitäts- und Isolationsvorteile von Docker verbessern die Effizienz und Stabilität der Anwendungsbereitstellung erheblich. Aufgrund der Isolation von Docker-Containern fühlen sich Menschen jedoch manchmal etwas hilflos. In diesem Artikel wird eine Methode zum Mounten eines Verzeichnisses vorgestellt, ohne den Docker-Container neu zu starten.

Zuerst müssen wir die Datenmengen von Docker verstehen. Ein Datenvolumen ist ein Mechanismus zum Speichern von Daten in einem Docker-Container. Es kann ein lokales Verzeichnis in einem Docker-Container bereitstellen, sodass die Daten im Container auf der lokalen Festplatte gespeichert werden können. Beim Starten eines Docker-Containers können Sie ein lokales Verzeichnis zum Mounten angeben, wie unten gezeigt:

docker run -v /localdir:/containerdir image_name
Nach dem Login kopieren

Darunter ist /localdir das lokale Verzeichnis und /containerdir Im Containerverzeichnis ist image_name der Name des Docker-Images. /localdir是本地的目录,/containerdir则是容器内的目录,image_name是Docker镜像的名称。

但是,当我们需要修改目录的挂载关系时,一般需要重新启动Docker容器。这样就会导致应用的停机时间增加,影响用户的使用体验。那么,如何在不重启Docker容器的情况下,修改挂载目录呢?

一种简单的方法是使用mount命令。mount命令可以实现文件系统的挂载和卸载操作,利用它,我们可以在不重启Docker容器的情况下,实现挂载目录的更改。具体操作步骤如下:

  1. 查看当前容器的挂载情况:
docker inspect -f '{{json .Mounts}}' container_name
Nach dem Login kopieren

其中,container_name是指Docker容器的名称。

执行上述命令后,会返回容器中的挂载目录信息,其格式如下:

[
   {
      "Type": "bind",
      "Source": "/var/data",
      "Destination": "/app/data",
      "Mode": "",
      "RW": true,
      "Propagation": "rprivate"
   }
]
Nach dem Login kopieren

其中,Type是挂载类型,Source是本地目录,Destination是容器内目录,RW表示读写权限。

  1. 卸载当前的挂载目录:
mount --make-rprivate /var/data
umount /var/data
Nach dem Login kopieren

上述命令中,--make-rprivate选项用来将该目录设置为私有权限,以避免对其他进程产生影响。umount

Wenn wir jedoch die Mount-Beziehung eines Verzeichnisses ändern müssen, müssen wir im Allgemeinen den Docker-Container neu starten. Dies führt zu längeren Ausfallzeiten der Anwendung und beeinträchtigt das Benutzererlebnis. Wie kann man also das Mount-Verzeichnis ändern, ohne den Docker-Container neu zu starten?
  1. Eine einfache Möglichkeit ist die Verwendung des Befehls mount. Mit dem Befehl mount können wir die Mount- und Unmount-Vorgänge des Dateisystems durchführen. Mit ihm können wir das Mount-Verzeichnis ändern, ohne den Docker-Container neu zu starten. Die spezifischen Schritte sind wie folgt:
    1. Anzeigen des Montagestatus des aktuellen Containers:

      mount --bind /new/data /var/data
      Nach dem Login kopieren

      Dabei bezieht sich container_name auf den Namen des Docker-Containers.

      Nach der Ausführung des obigen Befehls werden die Informationen zum Montageverzeichnis im Container zurückgegeben. Das Format lautet wie folgt:

      rrreee🎜Dabei ist Typ der Montagetyp und Quelle ist das lokale Verzeichnis, <code>Destination ist das Verzeichnis innerhalb des Containers und RW steht für Lese- und Schreibberechtigungen. 🎜
        🎜Deinstallieren Sie das aktuelle Mount-Verzeichnis: 🎜🎜rrreee🎜Im obigen Befehl wird die Option --make-rprivate verwendet, um das Verzeichnis auf zu vermeidende private Berechtigungen zu setzen Auswirkungen auf andere Prozesse haben. Der Befehl umount wird zum Aushängen des Verzeichnisses verwendet. 🎜🎜🎜Mounten Sie ein neues Verzeichnis: 🎜🎜rrreee🎜Mit dem obigen Befehl mounten wir das neue Verzeichnis im Originalverzeichnis, um Verzeichnisänderungen zu erreichen. 🎜🎜Durch die oben genannten Schritte haben wir das Mountverzeichnis erfolgreich geändert, ohne den Docker-Container neu zu starten. Es ist zu beachten, dass Sie vor der Änderung alle Prozesse stoppen müssen, die das Verzeichnis belegen, wenn sich im Verzeichnis Dateien befinden, die verwendet werden, um Datenverlust zu vermeiden. 🎜🎜Docker bietet eine effiziente und praktische Container-Bereitstellungslösung, aber in der tatsächlichen Anwendung müssen wir seine Isolationseigenschaften vollständig verstehen und lernen, relevante Techniken zu verwenden, um verschiedene Probleme besser zu bewältigen. Ich glaube, dass Sie durch die Einleitung dieses Artikels eine Methode zum Mounten eines Verzeichnisses beherrschen, ohne den Docker-Container neu zu starten. Ich hoffe, dass sie Ihnen dabei helfen kann, mit tatsächlichen Anwendungsszenarien besser zurechtzukommen. 🎜

    Das obige ist der detaillierte Inhalt vonSo mounten Sie ein Verzeichnis, ohne Docker neu zu starten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    AI Hentai Generator

    AI Hentai Generator

    Erstellen Sie kostenlos Ai Hentai.

    Heißer Artikel

    R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
    3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Beste grafische Einstellungen
    3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
    3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Wie man alles in Myrise freischaltet
    3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

    Heiße Werkzeuge

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    Wie bereitete ich Anwendungen für einen Docker -Schwarm -Cluster bereit? Wie bereitete ich Anwendungen für einen Docker -Schwarm -Cluster bereit? Mar 17, 2025 pm 04:20 PM

    In den Artikelsdetails werden Anwendungen zum Docker -Schwarm bereitgestellt und die Vorbereitung, Bereitstellungsschritte und Sicherheitsmaßnahmen während des Prozesses abdeckt.

    Was sind Kubernetes Pods, Bereitstellungen und Dienste? Was sind Kubernetes Pods, Bereitstellungen und Dienste? Mar 17, 2025 pm 04:25 PM

    Der Artikel erläutert Kubernetes 'Pods, Bereitstellungen und Dienste und beschreibt ihre Rollen bei der Verwaltung von Containeranwendungen. Es wird erläutert, wie diese Komponenten die Skalierbarkeit, Stabilität und Kommunikation in Anwendungen verbessern (159 Zeichen).

    Wie implementieren Sie Ratenlimit- und Ressourcenquoten in Docker -Containern? Wie implementieren Sie Ratenlimit- und Ressourcenquoten in Docker -Containern? Mar 12, 2025 pm 06:07 PM

    In diesem Artikel werden in Docker die Quoten und die Ressourcenquoten implementiert. Es deckt CPU-, Gedächtnis- und E/A -Grenzwerte mithilfe von CGroups ab und betont die Best Practices zur Verhinderung der Erschöpfung der Ressourcen. Einschränkung der Netzwerkrate, die externe Tools erfordern, wie

    Wie skalieren ich Anwendungen in Kubernetes? Wie skalieren ich Anwendungen in Kubernetes? Mar 17, 2025 pm 04:28 PM

    In dem Artikel werden Skalierungsanwendungen in Kubernetes mit manueller Skalierung, HPA, VPA und Cluster -Autoscaler erörtert und bietet Best Practices und Tools zur Überwachung und Automatisierung der Skalierung.

    Wie implementiere ich Rolling -Updates in Docker Swarm? Wie implementiere ich Rolling -Updates in Docker Swarm? Mar 17, 2025 pm 04:23 PM

    In dem Artikel werden die Implementierung von Rolling -Updates in Docker Swarm zur Aktualisierung von Diensten ohne Ausfallzeiten erläutert. Es deckt Aktualisierungsdienste, die Festlegung von Aktualisierungsparametern, die Überwachung des Fortschritts und die Gewährleistung der reibungslosen Updates ab.

    Wie verwalte ich Dienste in Docker Swarm? Wie verwalte ich Dienste in Docker Swarm? Mar 17, 2025 pm 04:22 PM

    In Artikel werden die Verwaltungsdienste in Docker Swarm erörtert, wobei der Schwerpunkt auf Erstellung, Skalierung, Überwachung und Aktualisierung ohne Ausfallzeiten liegt.

    Wie verwalte ich Bereitstellungen in Kubernetes? Wie verwalte ich Bereitstellungen in Kubernetes? Mar 17, 2025 pm 04:27 PM

    In dem Artikel wird das Management von Kubernetes -Bereitstellungen erläutert, wobei der Schwerpunkt auf Erstellung, Aktualisierungen, Skalierung, Überwachung und Automatisierung mithilfe verschiedener Tools und Best Practices liegt.

    Was sind die besten Möglichkeiten, Docker für Anwendungen mit niedriger Latenz zu optimieren? Was sind die besten Möglichkeiten, Docker für Anwendungen mit niedriger Latenz zu optimieren? Mar 14, 2025 pm 02:00 PM

    In dem Artikel werden Strategien zur Optimierung von Docker für Anwendungen mit niedriger Latenz erörtert, die sich auf die Minimierung der Bildgröße, die Verwendung von leichten Basisbildern und die Anpassung der Ressourcenzuweisung und der Netzwerkeinstellungen konzentrieren.

    See all articles