So überprüfen Sie die im Docker-Volume enthaltenen Ordner und Dateien.
Ü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.
Ü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
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".
-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.
Recommended Posts