Les images de conteneurs

Architecture et implementations sous Linux

Our Services

Mais, au fait C'est quOi un Container ?

A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another

Et, Puis arriva…

Dockerfile

Docker Image

Docker Container

Instruction(s) Affect
from La base de l'image
add, copy* Le système de fichier
run* L'exécution d'une commande
env, arg, workdir, user, shell, stopsignal La construction et l'execution de l'image
maintainer, label Les Métadonnées de l'image
expose, volume Le montage des systèmes de fichier et le réseau 
arg, cmd, entrypoint, healthcheck Le processus de l'image

Dockerfile

IMAGE

est donc composée de :

D'une autre image

D'un système de fichier

D'informations sur : réseau et volumes, utilisateurs, exécution, variables d'environnements ...

De métadonnées

On parle Bien de Docker ?

Container Spec

Runtime Spec

Distribution Spec

Mais de...

IMG

Images

Runtimes

L'intérieur d'une image

$ docker pull alpine@sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d
docker.io/library/alpine@sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d: Pulling from library/alpine
Digest: sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d
Status: Image is up to date for alpine@sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d
docker.io/library/alpine@sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d

# Attention docker version >= v25 !
$ docker save -o alpine.tar alpine@sha256:beefdbd8a1da6d2915566fde36db9db0b524eb737fc57cd1367effd16dc0d06d

$ mkdir alpine

$ tar -xvf alpine.tar -C ./alpine
$ cd alpine

$ tree
.
├── blobs
│   └── sha256
│       ├── 309ff318b44b4f2af442a37a269a93ce6907d277d2c168d3160f36cc802f8838
│       ├── 63ca1fbb43ae5034640e5e6cb3e083e05c290072c5366fcaa9d62435a4cced85
│       ├── 6ad8fd5c38430e1ab05f033c689994934a216c1a7481aeb44de1239d7ca82f77
│       └── 91ef0af61f39ece4d6710e465df5ed6ca12112358344fd51ae6a3b886634148b
├── index.json
├── manifest.json
└── oci-layout

Récupération et extraction de l'image

$ jq . index.json 
$ ls "blobs/$(jq -r '.manifests[0].digest| sub(":"; "/")' index.json)"
blobs/sha256/309ff318b44b4f2af442a37a269a93ce6907d277d2c168d3160f36cc802f8838

$ DIGEST_SHA=$(jq -r '.manifests[0].digest|ltrimstr("sha256:")' index.json)
$ echo "$DIGEST_SHA blobs/$DIGEST_SHA" | sha256sum --check
blobs/sha256/309ff318b44b4f2af442a37a269a93ce6907d277d2c168d3160f36cc802f8838: Réussi
{
  "schemaVersion": 2,
  "mediaType": "application/vnd.oci.image.index.v1+json",
  "manifests": [
    {
      "mediaType": "application/vnd.oci.image.manifest.v1+json",
      "digest": "sha256:309ff318b44b4f2af442a37a269a93ce6907d277d2c168d3160f36cc802f8838",
      "size": 401
    }
  ]
}

Le fichier index.json

$ MANIFEST="blobs/$(jq -r '.manifests[0].digest| sub(":"; "/")' index.json)"
$ jq . "$MANIFEST"
{
  "schemaVersion": 2,
  "mediaType": "application/vnd.oci.image.manifest.v1+json",
  "config": {
    "mediaType": "application/vnd.oci.image.config.v1+json",
    "digest": "sha256:91ef0af61f39ece4d6710e465df5ed6ca12112358344fd51ae6a3b886634148b",
    "size": 1471
  },
  "layers": [
    {
      "mediaType": "application/vnd.oci.image.layer.v1.tar",
      "digest": "sha256:63ca1fbb43ae5034640e5e6cb3e083e05c290072c5366fcaa9d62435a4cced85",
      "size": 8081920
    }
  ]
}

Le FICHIER MANIFEST

$ CONFIG="blobs/$(jq -r '.config.digest|sub(":"; "/")' "$MANIFEST")"
$ jq . "$CONFIG"
{
  "architecture": "amd64",
  "config": {
    "Hostname": "",
    "Domainname": "",
    "User": "",
    "AttachStdin": false,
    "AttachStdout": false,
    "AttachStderr": false,
    "Tty": false,
    "OpenStdin": false,
    "StdinOnce": false,
    "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ],
    "Cmd": [ "/bin/sh" ],
    "Image": "sha256:2b00b4bd27e9e55889516b87471798d04fafb613bbbfc4c46589b7ce7f7e75e4",
    "Volumes": null,
    "WorkingDir": "",
    "Entrypoint": null,
    "OnBuild": null,
    "Labels": null
  },
  "container": "a9f02e65025ad035b1bbd0ccda6a13d174e4ed21633f2671364c725a56bd7107",
  "container_config": {
    "Hostname": "a9f02e65025a",
    "Domainname": "",
    "User": "",
    "AttachStdin": false,
    "AttachStdout": false,
    "AttachStderr": false,
    "Tty": false,
    "OpenStdin": false,
    "StdinOnce": false,
    "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ],
    "Cmd": [ "/bin/sh", "-c", "#(nop) ", "CMD [\"/bin/sh\"]"
    ],
    "Image": "sha256:2b00b4bd27e9e55889516b87471798d04fafb613bbbfc4c46589b7ce7f7e75e4",
    "Volumes": null,
    "WorkingDir": "",
    "Entrypoint": null,
    "OnBuild": null,
    "Labels": {}
  },
  "created": "2024-09-06T22:20:07.972381771Z",
  "docker_version": "23.0.11",
  "history": [
    {
      "created": "2024-09-06T22:20:07.740564901Z",
      "created_by": "/bin/sh -c #(nop) ADD file:5758b97d8301c84a204a6e516241275d785a7cade40b2fb99f01fe122482e283 in / "
    },
    {
      "created": "2024-09-06T22:20:07.972381771Z",
      "created_by": "/bin/sh -c #(nop)  CMD [\"/bin/sh\"]",
      "empty_layer": true
    }
  ],
  "os": "linux",
  "rootfs": {
    "type": "layers",
    "diff_ids": [
      "sha256:63ca1fbb43ae5034640e5e6cb3e083e05c290072c5366fcaa9d62435a4cced85"
    ]
  }
}

Le fichier config

$ LAYER_ZERO="blobs/$(jq -r '.layers[0].digest|sub(":"; "/")' "$MANIFEST")"
$ tar -tvf "$LAYER_ZERO"
drwxr-xr-x 0/0               0 2024-09-06 13:34 bin/
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/arch -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/ash -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/base64 -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/bbconfig -> /bin/busybox
-rwxr-xr-x 0/0          808712 2024-06-10 09:11 bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/cat -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/chattr -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/chgrp -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/chmod -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/chown -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/cp -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/date -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/dd -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/df -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/dmesg -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/dnsdomainname -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/dumpkmap -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/echo -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/egrep -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/false -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/fatattr -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/fdflush -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/fgrep -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/fsync -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/getopt -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/grep -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/gunzip -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/gzip -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/hostname -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/ionice -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/iostat -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/ipcalc -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/kbd_mode -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/kill -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/link -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/linux32 -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/linux64 -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/ln -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/login -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/ls -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/lsattr -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/lzop -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/makemime -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/mkdir -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/mknod -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/mktemp -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/more -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/mount -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/mountpoint -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/mpstat -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/mv -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/netstat -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/nice -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/pidof -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/ping -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/ping6 -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/pipe_progress -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/printenv -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/ps -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/pwd -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/reformime -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/rev -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/rm -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/rmdir -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/run-parts -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/sed -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/setpriv -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/setserial -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/sh -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/sleep -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/stat -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/stty -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/su -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/sync -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/tar -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/touch -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/true -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/umount -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/uname -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/usleep -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/watch -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 bin/zcat -> /bin/busybox
drwxr-xr-x 0/0               0 2024-09-06 13:34 dev/
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/
-rw-r--r-- 0/0               7 2024-09-06 13:33 etc/alpine-release
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/apk/
-rw-r--r-- 0/0               7 2024-09-06 13:34 etc/apk/arch
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/apk/keys/
-rw-r--r-- 0/0             451 2021-10-18 19:54 etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub
-rw-r--r-- 0/0             451 2021-10-18 19:54 etc/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub
-rw-r--r-- 0/0             451 2021-10-18 19:54 etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub
-rw-r--r-- 0/0             800 2021-10-18 19:54 etc/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub
-rw-r--r-- 0/0             800 2021-10-18 19:54 etc/apk/keys/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/apk/protected_paths.d/
-rw-r--r-- 0/0             103 2024-09-06 13:34 etc/apk/repositories
-rw-r--r-- 0/0              59 2024-09-06 13:34 etc/apk/world
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/busybox-paths.d/
-rw-r--r-- 0/0            3989 2024-06-10 09:11 etc/busybox-paths.d/busybox
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/crontabs/
-rw------- 0/0             283 2024-05-06 09:38 etc/crontabs/root
-rw-r--r-- 0/0              89 2024-05-06 09:38 etc/fstab
-rw-r--r-- 0/0             510 2024-05-06 09:38 etc/group
-rw-r--r-- 0/0              10 2024-05-06 09:38 etc/hostname
-rw-r--r-- 0/0              79 2024-05-06 09:38 etc/hosts
-rw-r--r-- 0/0             570 2024-05-06 09:38 etc/inittab
-rw-r--r-- 0/0              54 2024-09-06 13:33 etc/issue
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/logrotate.d/
-rw-r--r-- 0/0             140 2024-06-10 09:11 etc/logrotate.d/acpid
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/modprobe.d/
-rw-r--r-- 0/0            1545 2024-05-06 09:38 etc/modprobe.d/aliases.conf
-rw-r--r-- 0/0            2136 2024-05-06 09:38 etc/modprobe.d/blacklist.conf
-rw-r--r-- 0/0             122 2024-05-06 09:38 etc/modprobe.d/i386.conf
-rw-r--r-- 0/0              91 2024-05-06 09:38 etc/modprobe.d/kms.conf
-rw-r--r-- 0/0              15 2024-05-06 09:38 etc/modules
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/modules-load.d/
-rw-r--r-- 0/0             284 2024-05-06 09:38 etc/motd
lrwxrwxrwx 0/0               0 2024-09-06 13:34 etc/mtab -> /proc/mounts
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/network/
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/network/if-down.d/
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/network/if-post-down.d/
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/network/if-post-up.d/
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/network/if-pre-down.d/
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/network/if-pre-up.d/
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/network/if-up.d/
-rwxrwxr-x 0/0             285 2024-06-10 09:11 etc/network/if-up.d/dad
-rw-r--r-- 0/0             205 2024-05-06 09:38 etc/nsswitch.conf
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/opt/
-rw-r--r-- 0/0             188 2024-09-06 13:33 etc/os-release
-rw-r--r-- 0/0             702 2024-05-06 09:38 etc/passwd
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/periodic/
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/periodic/15min/
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/periodic/daily/
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/periodic/hourly/
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/periodic/monthly/
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/periodic/weekly/
-rw-r--r-- 0/0             547 2024-05-06 09:38 etc/profile
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/profile.d/
-rw-r--r-- 0/0              97 2024-05-06 09:38 etc/profile.d/20locale.sh
-rw-r--r-- 0/0             249 2024-05-06 09:38 etc/profile.d/README
-rw-r--r-- 0/0             447 2024-05-06 09:38 etc/profile.d/color_prompt.sh.disabled
-rw-r--r-- 0/0            3144 2024-05-06 09:38 etc/protocols
drwxr-xr-x 0/0               0 2024-09-06 13:33 etc/secfixes.d/
-rw-r--r-- 0/0              97 2024-09-06 13:33 etc/secfixes.d/alpine
-rw-r--r-- 0/0             156 2024-06-10 09:11 etc/securetty
-rw-r--r-- 0/0           12813 2024-05-06 09:38 etc/services
-rw-r----- 0/42            260 2024-09-06 13:34 etc/shadow
-rw-r--r-- 0/0              38 2024-05-06 09:38 etc/shells
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/ssl/
lrwxrwxrwx 0/0               0 2024-09-06 13:34 etc/ssl/cert.pem -> certs/ca-certificates.crt
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/ssl/certs/
-rw-r--r-- 0/0          220093 2024-07-09 11:59 etc/ssl/certs/ca-certificates.crt
-rw-r--r-- 0/0             412 2024-09-03 20:09 etc/ssl/ct_log_list.cnf
-rw-r--r-- 0/0             412 2024-09-03 20:09 etc/ssl/ct_log_list.cnf.dist
-rw-r--r-- 0/0           12328 2024-09-03 20:09 etc/ssl/openssl.cnf
-rw-r--r-- 0/0           12328 2024-09-03 20:09 etc/ssl/openssl.cnf.dist
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/ssl/private/
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/ssl1.1/
lrwxrwxrwx 0/0               0 2024-09-06 13:34 etc/ssl1.1/cert.pem -> /etc/ssl/cert.pem
lrwxrwxrwx 0/0               0 2024-09-06 13:34 etc/ssl1.1/certs -> /etc/ssl/certs
-rw-r--r-- 0/0              53 2024-05-06 09:38 etc/sysctl.conf
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/sysctl.d/
drwxr-xr-x 0/0               0 2024-09-06 13:34 etc/udhcpc/
-rw-r--r-- 0/0             287 2024-06-10 09:11 etc/udhcpc/udhcpc.conf
drwxr-xr-x 0/0               0 2024-09-06 13:34 home/
drwxr-xr-x 0/0               0 2024-09-06 13:34 lib/
drwxr-xr-x 0/0               0 2024-09-06 13:34 lib/apk/
drwxr-xr-x 0/0               0 2024-09-06 13:34 lib/apk/db/
-rw-r--r-- 0/0           14206 2024-09-06 13:34 lib/apk/db/installed
-rw------- 0/0               0 2024-09-06 13:34 lib/apk/db/lock
-rw-r--r-- 0/0           10240 2024-09-06 13:34 lib/apk/db/scripts.tar
-rw-r--r-- 0/0              76 2024-09-06 13:34 lib/apk/db/triggers
drwxr-xr-x 0/0               0 2024-09-06 13:34 lib/apk/exec/
drwxr-xr-x 0/0               0 2024-09-06 13:34 lib/firmware/
-rwxr-xr-x 0/0          649832 2024-03-15 12:43 lib/ld-musl-x86_64.so.1
-rwxr-xr-x 0/0          183992 2024-04-16 16:50 lib/libapk.so.2.14.0
lrwxrwxrwx 0/0               0 2024-09-06 13:34 lib/libc.musl-x86_64.so.1 -> ld-musl-x86_64.so.1
-rwxr-xr-x 0/0         4478288 2024-09-03 20:09 lib/libcrypto.so.3
-rwxr-xr-x 0/0          798424 2024-09-03 20:09 lib/libssl.so.3
lrwxrwxrwx 0/0               0 2024-09-06 13:34 lib/libz.so.1 -> libz.so.1.3.1
-rwxr-xr-x 0/0          100208 2024-04-12 09:40 lib/libz.so.1.3.1
drwxr-xr-x 0/0               0 2024-09-06 13:34 lib/modules-load.d/
drwxr-xr-x 0/0               0 2024-09-06 13:34 lib/sysctl.d/
-rw-r--r-- 0/0            1278 2024-05-06 09:38 lib/sysctl.d/00-alpine.conf
drwxr-xr-x 0/0               0 2024-09-06 13:34 media/
drwxr-xr-x 0/0               0 2024-09-06 13:34 media/cdrom/
drwxr-xr-x 0/0               0 2024-09-06 13:34 media/floppy/
drwxr-xr-x 0/0               0 2024-09-06 13:34 media/usb/
drwxr-xr-x 0/0               0 2024-09-06 13:34 mnt/
drwxr-xr-x 0/0               0 2024-09-06 13:34 opt/
dr-xr-xr-x 0/0               0 2024-09-06 13:34 proc/
drwx------ 0/0               0 2024-09-06 13:34 root/
drwxr-xr-x 0/0               0 2024-09-06 13:34 run/
drwxr-xr-x 0/0               0 2024-09-06 13:34 sbin/
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/acpid -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/adjtimex -> /bin/busybox
-rwxr-xr-x 0/0           69648 2024-04-16 16:50 sbin/apk
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/arp -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/blkid -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/blockdev -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/depmod -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/fbsplash -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/fdisk -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/findfs -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/fsck -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/fstrim -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/getty -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/halt -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/hwclock -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/ifconfig -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/ifdown -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/ifenslave -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/ifup -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/init -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/inotifyd -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/insmod -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/ip -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/ipaddr -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/iplink -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/ipneigh -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/iproute -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/iprule -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/iptunnel -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/klogd -> /bin/busybox
-rwxr-xr-x 0/0             393 2024-03-15 12:43 sbin/ldconfig
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/loadkmap -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/logread -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/losetup -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/lsmod -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/mdev -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/mkdosfs -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/mkfs.vfat -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/mkswap -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/modinfo -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/modprobe -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/nameif -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/nologin -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/pivot_root -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/poweroff -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/raidautorun -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/reboot -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/rmmod -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/route -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/setconsole -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/slattach -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/swapoff -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/swapon -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/switch_root -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/sysctl -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/syslogd -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/tunctl -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/udhcpc -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/vconfig -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/watchdog -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 sbin/zcip -> /bin/busybox
drwxr-xr-x 0/0               0 2024-09-06 13:34 srv/
drwxr-xr-x 0/0               0 2024-09-06 13:34 sys/
drwxrwxrwt 0/0               0 2024-09-06 13:34 tmp/
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/bin/
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/[ -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/[[ -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/awk -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/basename -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/bc -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/beep -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/blkdiscard -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/bunzip2 -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/bzcat -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/bzip2 -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/cal -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/chvt -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/cksum -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/clear -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/cmp -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/comm -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/cpio -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/crontab -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/cryptpw -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/cut -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/dc -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/deallocvt -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/diff -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/dirname -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/dos2unix -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/du -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/eject -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/env -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/expand -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/expr -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/factor -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/fallocate -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/find -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/flock -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/fold -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/free -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/fuser -> /bin/busybox
-rwxr-xr-x 0/0           35424 2024-03-15 12:43 usr/bin/getconf
-rwxr-xr-x 0/0           44888 2024-03-15 12:43 usr/bin/getent
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/groups -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/hd -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/head -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/hexdump -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/hostid -> /bin/busybox
-rwxr-xr-x 0/0           24520 2024-03-15 12:43 usr/bin/iconv
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/id -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/install -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/ipcrm -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/ipcs -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/killall -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/last -> /bin/busybox
-rwxr-xr-x 0/0              52 2024-03-15 12:43 usr/bin/ldd
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/less -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/logger -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/lsof -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/lsusb -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/lzcat -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/lzma -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/lzopcat -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/md5sum -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/mesg -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/microcom -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/mkfifo -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/mkpasswd -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/nc -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/nl -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/nmeter -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/nohup -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/nproc -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/nsenter -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/nslookup -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/od -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/openvt -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/passwd -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/paste -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/pgrep -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/pkill -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/pmap -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/printf -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/pscan -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/pstree -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/pwdx -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/readlink -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/realpath -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/renice -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/reset -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/resize -> /bin/busybox
-rwxr-xr-x 0/0           67576 2023-06-19 14:41 usr/bin/scanelf
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/seq -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/setkeycodes -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/setsid -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/sha1sum -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/sha256sum -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/sha3sum -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/sha512sum -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/showkey -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/shred -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/shuf -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/sort -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/split -> /bin/busybox
-rwxr-xr-x 0/0           14400 2024-06-10 09:11 usr/bin/ssl_client
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/strings -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/sum -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/tac -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/tail -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/tee -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/test -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/time -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/timeout -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/top -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/tr -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/traceroute -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/traceroute6 -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/tree -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/truncate -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/tty -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/ttysize -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/udhcpc6 -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/unexpand -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/uniq -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/unix2dos -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/unlink -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/unlzma -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/unlzop -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/unshare -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/unxz -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/unzip -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/uptime -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/uudecode -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/uuencode -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/vi -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/vlock -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/volname -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/wc -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/wget -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/which -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/who -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/whoami -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/whois -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/xargs -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/xxd -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/xzcat -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/bin/yes -> /bin/busybox
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/lib/
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/lib/engines-3/
-rwxr-xr-x 0/0           18504 2024-09-03 20:09 usr/lib/engines-3/afalg.so
-rwxr-xr-x 0/0           13864 2024-09-03 20:09 usr/lib/engines-3/capi.so
-rwxr-xr-x 0/0           47608 2024-09-03 20:09 usr/lib/engines-3/loader_attic.so
-rwxr-xr-x 0/0           22360 2024-09-03 20:09 usr/lib/engines-3/padlock.so
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/lib/libcrypto.so.3 -> ../../lib/libcrypto.so.3
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/lib/libssl.so.3 -> ../../lib/libssl.so.3
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/lib/modules-load.d/
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/lib/ossl-modules/
-rwxr-xr-x 0/0           96088 2024-09-03 20:09 usr/lib/ossl-modules/legacy.so
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/local/
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/local/bin/
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/local/lib/
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/local/share/
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/sbin/
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/add-shell -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/addgroup -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/adduser -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/arping -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/brctl -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/chpasswd -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/chroot -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/crond -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/delgroup -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/deluser -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/ether-wake -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/fbset -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/killall5 -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/loadfont -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/nanddump -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/nandwrite -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/nbd-client -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/ntpd -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/partprobe -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/rdate -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/rdev -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/readahead -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/remove-shell -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/rfkill -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/sendmail -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/setfont -> /bin/busybox
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/sbin/setlogcons -> /bin/busybox
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/share/
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/share/apk/
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/share/apk/keys/
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/share/apk/keys/aarch64/
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub
-rw-r--r-- 0/0             451 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub
-rw-r--r-- 0/0             451 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub
-rw-r--r-- 0/0             451 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub
-rw-r--r-- 0/0             451 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub
-rw-r--r-- 0/0             451 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub
-rw-r--r-- 0/0             451 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub
-rw-r--r-- 0/0             451 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub
-rw-r--r-- 0/0             451 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub
-rw-r--r-- 0/0             451 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub
-rw-r--r-- 0/0             800 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub
-rw-r--r-- 0/0             800 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub
-rw-r--r-- 0/0             800 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub
-rw-r--r-- 0/0             800 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub
-rw-r--r-- 0/0             800 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub
-rw-r--r-- 0/0             800 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub
-rw-r--r-- 0/0             800 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub
-rw-r--r-- 0/0             800 2021-10-18 19:54 usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/share/apk/keys/armhf/
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/share/apk/keys/armv7/
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/share/apk/keys/armv7/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/share/apk/keys/armv7/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/share/apk/keys/mips64/
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/share/apk/keys/mips64/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/share/apk/keys/ppc64le/
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/share/apk/keys/riscv64/
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/share/apk/keys/riscv64/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/share/apk/keys/riscv64/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/share/apk/keys/s390x/
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/share/apk/keys/x86/
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/share/apk/keys/x86_64/
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub
lrwxrwxrwx 0/0               0 2024-09-06 13:34 usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub -> ../alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/share/man/
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/share/misc/
drwxr-xr-x 0/0               0 2024-09-06 13:34 usr/share/udhcpc/
-rwxr-xr-x 0/0            3688 2024-06-10 09:11 usr/share/udhcpc/default.script
drwxr-xr-x 0/0               0 2024-09-06 13:34 var/
drwxr-xr-x 0/0               0 2024-09-06 13:34 var/cache/
drwxr-xr-x 0/0               0 2024-09-06 13:34 var/cache/apk/
drwxr-xr-x 0/0               0 2024-09-06 13:34 var/cache/misc/
dr-xr-xr-x 0/0               0 2024-09-06 13:34 var/empty/
drwxr-xr-x 0/0               0 2024-09-06 13:34 var/lib/
drwxr-xr-x 0/0               0 2024-09-06 13:34 var/lib/misc/
drwxr-xr-x 0/0               0 2024-09-06 13:34 var/local/
drwxr-xr-x 0/0               0 2024-09-06 13:34 var/lock/
drwxr-xr-x 0/0               0 2024-09-06 13:34 var/lock/subsys/
drwxr-xr-x 0/0               0 2024-09-06 13:34 var/log/
drwxr-xr-x 0/0               0 2024-09-06 13:34 var/mail/
drwxr-xr-x 0/0               0 2024-09-06 13:34 var/opt/
lrwxrwxrwx 0/0               0 2024-09-06 13:34 var/run -> /run
drwxr-xr-x 0/0               0 2024-09-06 13:34 var/spool/
drwxr-xr-x 0/0               0 2024-09-06 13:34 var/spool/cron/
lrwxrwxrwx 0/0               0 2024-09-06 13:34 var/spool/cron/crontabs -> /etc/crontabs
lrwxrwxrwx 0/0               0 2024-09-06 13:34 var/spool/mail -> /var/mail
drwxrwxrwt 0/0               0 2024-09-06 13:34 var/tmp/

Le LaYER

$ LAYER_ZERO_DIFF=$(jq -r '.rootfs.diff_ids[0] | ltrimstr("sha256:")' $CONFIG)
$ echo "$LAYER_ZERO_DIFF $LAYER_ZERO" | sha256sum --check
blobs/sha256/63ca1fbb43ae5034640e5e6cb3e083e05c290072c5366fcaa9d62435a4cced85: Réussi
application/vnd.oci.image.index.v1+json​

application/vnd.oci.image.manifest.v1+json

application/vnd.oci.image.layer.v1.tar

application/vnd.oci.image.layer.v1.tar+gzip

application/vnd.oci.image.layer.v1.tar+zstd

application/vnd.oci.image.config.v1+json

index.json

manifest(s)

config

layers

Le StoCkage des LAYERS

FROM ubuntu:latest

COPY apt.conf /ect/apt.conf

RUN apt update

container layer

= UNION FS

STORAGE / GrAph Drivers

aufs Advanced multi layered Unification
vfs Virtual File System
overlay/overlay2 OverlayFS
fuse-overlay Filesystem in UserSpacE
devicemapper
btrfs B-tree File System

Exemple : Overlayfs

$ mkdir overlayfs && cd $_
$ mkdir {layer1,layer2,upperlayer,workdir,mountedfs}

$ echo "content for file1.txt in layer 1" > layer1/file1.txt;
$ echo "content for file1.txt in layer 2" > layer2/file1.txt;
$ echo "content for file2.txt in layer 1" > layer1/file2.txt;
$ echo "content for file3.txt in layer 2" > layer2/file3.txt;

$ tree
.
├── layer1
│   ├── file1.txt
│   └── file2.txt
├── layer2
│   ├── file1.txt
│   └── file3.txt
├── mountedfs
├── upperlayer
└── workdir

Préparation du test :

$ mount \
-t overlay overlay \
-o lowerdir=layer1:layer2,upperdir=upperlayer,workdir=workdir \
mountedfs
mount: ***/overlayfs/mountedfs: seul le superutilisateur peut utiliser mount.

-t : driver type
lowerdir= mounted read only directories (leftmoss precedence)
upperdir= R/W directory
workdir= used by driver (must be on the same device with upperdir)

$ unshare -Urm

-U : Usernamespace
-r : map user as root

-m : unshare mounts namespace

I AM ROOT !

$ id
uid=0(root) gid=0(root) groupes=0(root),65534(nogroup)
# YEAAH !!

$ ls -la
total 28
drwxrwxr-x  7 root root    4096 sept. 12 13:34 .
drwxr-xr-x 60 root nogroup 4096 sept. 12 13:56 ..
drwxrwxr-x  2 root root    4096 sept. 12 13:35 layer1
drwxrwxr-x  2 root root    4096 sept. 12 13:35 layer2
drwxrwxr-x  2 root root    4096 sept. 12 13:34 mountedfs
drwxrwxr-x  2 root root    4096 sept. 12 13:34 upperlayer
drwxrwxr-x  2 root root    4096 sept. 12 13:34 workdir

$ mount \
-t overlay overlay \
-o lowerdir=layer1:layer2,upperdir=upperlayer,workdir=workdir \
mountedfs
$ tree
mountedfs
├── file1.txt
├── file2.txt
└── file3.txt

# vérifions la précédence
$ cat mountedfs/file1.txt
content for file1.txt in layer 1

# Ajoutons un fichier dans le repertoire d'union
$ echo "content for file4.txt" > mountedfs/file4.txt 
$ tree
.
├── layer1
│   ├── file1.txt
│   └── file2.txt
├── layer2
│   ├── file1.txt
│   └── file3.txt
├── mountedfs
│   ├── file1.txt
│   ├── file2.txt
│   ├── file3.txt
│   └── file4.txt
├── upperlayer
│   └── file4.txt
└── workdir
    └── work
 
# Maintenant supprimons un fichier
$ rm mountedfs/file1.txt
$ ls -la mountedfs 
total 20
drwxrwxr-x 1 root root 4096 sept. 12 19:49 .
drwxrwxr-x 7 root root 4096 sept. 12 13:34 ..
-rw-rw-r-- 1 root root   33 sept. 12 13:35 file2.txt
-rw-rw-r-- 1 root root   33 sept. 12 13:35 file3.txt
-rw-rw-r-- 1 root root   22 sept. 12 19:46 file4.txt

$ ls -la layer1    
total 16
drwxrwxr-x 2 root root 4096 sept. 12 13:35 .
drwxrwxr-x 7 root root 4096 sept. 12 13:34 ..
-rw-rw-r-- 1 root root   33 sept. 12 13:34 file1.txt
-rw-rw-r-- 1 root root   33 sept. 12 13:35 file2.txt

$ ls -la layer2
total 16
drwxrwxr-x 2 root root 4096 sept. 12 13:35 .
drwxrwxr-x 7 root root 4096 sept. 12 13:34 ..
-rw-rw-r-- 1 root root   33 sept. 12 13:34 file1.txt
-rw-rw-r-- 1 root root   33 sept. 12 13:35 file3.txt

$ ls -la upperlayer 
total 12
drwxrwxr-x 2 root root 4096 sept. 12 19:49 .
drwxrwxr-x 7 root root 4096 sept. 12 13:34 ..
c--------- 2 root root 0, 0 sept. 12 19:49 file1.txt
-rw-rw-r-- 1 root root   22 sept. 12 19:46 file4.txt

En conclusion

Un format de description simple

Des layers immuables (donc partageables)

Un format de stockage extensible

Repose sur les fonctionnalités du kernel Linux

Un écosystème riche

Références

MERCI !

Copy of Copy of Les images dockers

By Cyrille Sondag

Copy of Copy of Les images dockers

  • 4