[Docker] So sehen Sie den Inhalt von Volumes. Starten Sie einen Container mit Root-Rechten.

So überprüfen Sie die im Docker-Volume enthaltenen Ordner und Dateien.

Bestätigungsmethode

  1. Überprüfen Sie den Lautstärkepunkt (absoluter Pfad) mit "Docker Volume Inspect".
  2. Starten Sie einen Container mit Root-Rechten aus dem Image.
  3. Verwenden Sie den Befehl ls im Terminal im Container

Überprüfen des Einhängepunkts des Volumens


#Volumenliste anzeigen
docker volume ls

#Überprüfen Sie den Montagepunkt
docker volume inspect [Datenträgername]

Starten Sie einen Container mit Root-Rechten und überprüfen Sie den Inhalt des Volumes


#Starten Sie den Container mit Root-Rechten
$ docker run -it --privileged --pid=host [Bildname] nsenter -t 1 -m -u -n -i sh

#Zeigen Sie den Inhalt des Volumes an
/ # ls [Absoluter Pfad des Mountpunkts]

#Interaktiven Modus beenden
/ # exit

Mit der obigen Operation kann der Inhalt des Volumens bestätigt werden.


## Bestätigungsverfahren anhand eines Beispiels

Überprüfen Sie das Bild


$ docker images
REPOSITORY                                      TAG                 IMAGE ID            CREATED             SIZE
tomcat                                          latest              35064a4fcc93        2 weeks ago         648MB
django_web                                      latest              7f0eff7ebc94        2 weeks ago         937MB
debian                                          latest              1510e8501783        5 weeks ago         114MB
python                                          3                   dfc47c6cee13        6 weeks ago         886MB
postgres                                        latest              817f2d3d51ec        7 weeks ago         314MB
vuecli                                          3                   4040959eab16        2 months ago        338MB

Volumenliste anzeigen


$ docker volume ls
DRIVER              VOLUME NAME
local               0adf7a2b08b8e09f74ffb7799716e48263f012612dc2047da1d7137a75f12b5d
local               vuecli3_vue-cli-node-volume

Überprüfen Sie den Montagepunkt


$ docker volume inspect vuecli3_vue-cli-node-volume
[
    {
        "CreatedAt": "2020-09-08T05:35:36Z",
        "Driver": "local",
        "Labels": {
            "com.docker.compose.project": "vuecli3",
            "com.docker.compose.version": "1.26.2",
            "com.docker.compose.volume": "vue-cli-node-volume"
        },
        "Mountpoint": "/var/lib/docker/volumes/vuecli3_vue-cli-node-volume/_data",
        "Name": "vuecli3_vue-cli-node-volume",
        "Options": null,
        "Scope": "local"
    }
]

Aktivieren Sie den interaktiven Docker-Modus


$ docker run -it --privileged --pid=host [Bildname] nsenter -t 1 -m -u -n -i sh

Docker interaktiver Modus


/ # ls
EFI         boot        dev         home        lib         mnt         proc        run         srv         tmp         var
bin         containers  etc         init        media       opt         root        sbin        sys         usr

Überprüfen Sie die Lautstärke


/ # ls /var/lib/docker/volumes/micres_micres-node_modules2/_data
@babel                                       mime-db
@csstools                                    mime-types
@mdi                                         mimic-response
@nicolo-ribaudo                              mini-css-extract-plugin
@npmcli                                      minimalistic-assert
@rails                                       minimalistic-crypto-utils

Details zum Starten eines Containers mit Root-Rechten

Was ist das Wichtigste, der Startbefehl des Containers mit Rootberechtigung?

Befehl $ docker run -it --privileged --pid = host [Bildname] nsenter -t 1 -m -u -n -i sh`

-It -t Pseudo-Terminal (--tty) -i Standardausgang immer EIN (--interaktiv)

- Privilegiert Privilegierter Modus. Starten Sie einen speziellen Container mit Root-Rechten auf dem Host.

--Pid = host --pit = Geben Sie den PID-Namespace für den Container an. Verwenden Sie den host-seitigen PID-Namespace im Host-Container.

Nsenter Ein Befehlszeilentool zur Eingabe von mit Docker erstellten Namespaces. Eine Kombination von Akronymen für "ENTER into Name Spaces".


▼ Geben Sie die Optionen ein ・ `-T` Geben Sie den Prozess "--target pid" an. Geben Sie hier 1 an.

-M -M "--Mount" Geben Sie den Mount-Namensraum ein. Wenn kein Namespace angegeben ist, wird der durch PID angegebene Prozess verwendet.

・ ` ` "-Uts" Geben Sie den UTS-Namespace ein. Wenn kein Namespace angegeben ist, wird der durch PID angegebene Prozess verwendet.

uts steht für Unix Time Sharing.

・ ` ` Geben Sie den Netzwerk-Namespace "--net" ein. Wenn kein Namespace angegeben ist, wird der durch PID angegebene Prozess verwendet.

-I Geben Sie den IPC-Namespace "--ipc" ein. Wenn kein Namespace angegeben ist, wird der durch PID angegebene Prozess verwendet.

Kurz gesagt, es scheint, dass verschiedene Namespaces durch Verarbeitung von PID = 1 gestartet werden.

Liste der Linux nsenter-Optionen

Recommended Posts

[Docker] So sehen Sie den Inhalt von Volumes. Starten Sie einen Container mit Root-Rechten.
So starten Sie einen Docker-Container mit einem in einer Batchdatei bereitgestellten Volume
[Ruby] So rufen Sie den Inhalt des Doppel-Hash ab
So starten Sie Camunda mit Docker
So erstellen Sie einen Jenkins-Server mit einem Docker-Container unter CentOS 7 von VirtualBox und greifen von einem lokalen PC auf den Jenkins-Server zu
Die Geschichte, wie ein Docker-Container mit GitHub-Aktionen in die GitHub-Paketregistrierung und den Docker-Hub verschoben wird
So überprüfen Sie den Inhalt der Java-Zeichenfolge mit fester Länge
Immerhin wollte ich den Inhalt von MySQL mit Docker in der Vorschau anzeigen ...
So überprüfen Sie das Protokoll im Docker-Container
Passen Sie an, wie der Inhalt von Recyclerview aufgeteilt wird
So erhalten Sie einen Heapdump aus einem Docker-Container
So mounten Sie den Speicherort der Batchdatei über WSL2 und starten den Docker-Container
So erhalten Sie die ID eines Benutzers, der sich in Swift bei Firebase authentifiziert hat
Anzeigen der vom Docker-Container verwendeten Festplattenmenge für jeden Container
Bis zum Start eines Docker-Containers, der mit RedHat Quarkus erstellt wurde
[Rails] So erhalten Sie den Inhalt starker Parameter
[Java] So unterbrechen Sie eine Zeile mit StringBuilder
Wenn Sie SQLite mit VSCode verwenden, verwenden Sie die Erweiterung (wie die Binärdatei von sqlite3 angezeigt wird)
[Docker] Wie man mit einem Container in Heroku aktualisiert und wie man mit Migrate Error umgeht
So lösen Sie, wenn Sie mit einem neuen Container keine Verbindung zur Datenbank herstellen können, weil der Port dem vorhandenen Docker-Container zugewiesen ist
So machen Sie einen Screenshot mit dem Android Studio-Emulator
[Docker] Löschen Sie nur das Volume, das einem bestimmten Container zugeordnet ist
So ändern Sie den Inhalt der JAR-Datei, ohne sie zu dekomprimieren
[jsoup] So erhalten Sie die gesamte Dokumentation
[Docker] Zugriff auf den Host aus dem Container heraus. http: //host.docker.internal:
Versuchen Sie, die Idee eines zweidimensionalen Arrays mit einem eindimensionalen Array nachzuahmen
So erstellen Sie einen Java-Container
Ich habe versucht, mit Docker eine Plant UML Server-Umgebung zu erstellen
So erhalten Sie den Inhalt von Map mithilfe des for-Anweisungsmemorandums
Erstellen wir einen Docker-Container, der SSH auf die Mindestkonfiguration von CentOS 8 ausführen kann
[Hinweis] So starten Sie den mit Docker-Compose eingerichteten Windows-Container neu
[chown] So ändern Sie den Eigentümer einer Datei oder eines Verzeichnisses
[Linux] Starten Sie den Apache-Container mit Docker
Warten Sie, bis PostgreSQL mit Docker gestartet ist, und starten Sie dann den WEB-Dienst
So überprüfen Sie, bevor Sie mit Spring Integration eine Nachricht an den Server senden
Ausführen mit normalen Befehlen für die Entwicklungssprache in der Docker-Entwicklungsumgebung
So greifen Sie mit der TCP-Funktion von Spring Integration direkt auf Socket zu
So konvertieren Sie ein Array von Strings mit der Stream-API in ein Array von Objekten
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 6.x)
[Docker] Erstellen, wenn der Quellcode auf dem Container gebunden ist
So finden Sie heraus, welche Java-Version der Klassendatei kompiliert wurde
[Java] Wie man mit der String-Klasse an die Spitze eines bestimmten Strings kommt
So ändern Sie den Wert einer Variablen an einem Haltepunkt in IntelliJ
So ermitteln Sie den absoluten Pfad eines in Java ausgeführten Verzeichnisses
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 5.x)
[swift5] So ändern Sie die Farbe der TabBar oder die Farbe des TabBar-Elements mit Code
So teilen Sie Dateien mit Docker Toolbox
Die Geschichte der Aktualisierung des Docker-Containers von Sonar Qube
So bestimmen Sie die Anzahl der Parallelen
So sortieren Sie eine Liste von SelectItems
[Docker] Starten Sie den Container so schnell wie möglich