binhex / arch-base

Docker build script for Arch Linux base
GNU General Public License v3.0
27 stars 42 forks source link

Filesystem corruption #3

Closed lagerstrom closed 2 years ago

lagerstrom commented 2 years ago

I am using your docker image binhex/arch-rtorrentvpn and noticed after I pulled latest that it did not start. When looking into the logs I noticed that tmux failed to start with this error message no suitable socket path when I tried to ls /tmp I got a permission denied error. Turns out that something is wrong with the metadata in the filesystem.

Traced the error back to this image. Below is the same error I have in the arch-rtorrentvpn container. Reverted back to version binhex/arch-rtorrentvpn:rtorrent-ps-1.1.r54.ga787dd9-1-35 and that one works and the filesystem works as expected as well.

[root@e32c0123f2b0 /]# ls -la 
ls: cannot access '.': Operation not permitted
ls: cannot access 'etc': Operation not permitted
ls: cannot access '..': Operation not permitted
ls: cannot access 'proc': Operation not permitted
ls: cannot access 'sys': Operation not permitted
ls: cannot access 'dev': Operation not permitted
ls: cannot access '.dockerenv': Operation not permitted
ls: cannot access 'pkglist.x86_64.txt': Operation not permitted
ls: cannot access 'run': Operation not permitted
ls: cannot access 'opt': Operation not permitted
ls: cannot access 'sbin': Operation not permitted
ls: cannot access 'bin': Operation not permitted
ls: cannot access 'tmp': Operation not permitted
ls: cannot access 'home': Operation not permitted
ls: cannot access 'version': Operation not permitted
ls: cannot access 'mnt': Operation not permitted
ls: cannot access 'lib64': Operation not permitted
ls: cannot access 'var': Operation not permitted
ls: cannot access '.gnupg': Operation not permitted
ls: cannot access 'usr': Operation not permitted
ls: cannot access 'root': Operation not permitted
ls: cannot access 'boot': Operation not permitted
ls: cannot access 'srv': Operation not permitted
ls: cannot access 'lib': Operation not permitted
total 0
d????????? ? ? ? ?            ? .
d????????? ? ? ? ?            ? ..
l????????? ? ? ? ?            ? bin
d????????? ? ? ? ?            ? boot
d????????? ? ? ? ?            ? dev
-????????? ? ? ? ?            ? .dockerenv
d????????? ? ? ? ?            ? etc
d????????? ? ? ? ?            ? .gnupg
d????????? ? ? ? ?            ? home
l????????? ? ? ? ?            ? lib
l????????? ? ? ? ?            ? lib64
d????????? ? ? ? ?            ? mnt
d????????? ? ? ? ?            ? opt
-????????? ? ? ? ?            ? pkglist.x86_64.txt
d????????? ? ? ? ?            ? proc
d????????? ? ? ? ?            ? root
d????????? ? ? ? ?            ? run
l????????? ? ? ? ?            ? sbin
d????????? ? ? ? ?            ? srv
d????????? ? ? ? ?            ? sys
d????????? ? ? ? ?            ? tmp
d????????? ? ? ? ?            ? usr
d????????? ? ? ? ?            ? var
-????????? ? ? ? ?            ? version
[root@e32c0123f2b0 /]# 
binhex commented 2 years ago

this is not the issue, to confirm:-

nobody@36ccac74414a:/tmp$ docker pull binhex/arch-base:latest
latest: Pulling from binhex/arch-base
Digest: sha256:e5a205a7aae1048212ce6ff776432857b03ce23ff7fa5db5f1e31c9606200f46
Status: Image is up to date for binhex/arch-base:latest
docker.io/binhex/arch-base:latest
nobody@36ccac74414a:/tmp$ docker run -it binhex/arch-base:latest bash
[root@3f8878a258a7 /]# ls -al
total 24
drwxr-xr-x   1 root root  204 Dec 30 18:14 .
drwxr-xr-x   1 root root  204 Dec 30 18:14 ..
lrwxrwxrwx   1 root root    7 Dec 15 09:37 bin -> usr/bin
drwxr-xr-x   1 root root    0 Nov 11 09:14 boot
drwxr-xr-x   5 root root  360 Dec 30 18:14 dev
-rwxr-xr-x   1 root root    0 Dec 30 18:14 .dockerenv
drwxr-xr-x   1 root root 1562 Dec 30 18:14 etc
drwx------   1 root root   22 Dec 15 09:38 .gnupg
drwxr-xr-x   1 root root   12 Dec 15 09:59 home
lrwxrwxrwx   1 root root    7 Dec 15 09:37 lib -> usr/lib
lrwxrwxrwx   1 root root    7 Dec 15 09:37 lib64 -> usr/lib
drwxr-xr-x   1 root root    0 Nov 11 09:14 mnt
drwxr-xr-x   1 root root    0 Nov 11 09:14 opt
-rw-r--r--   1 root root 1876 Dec  1 14:44 pkglist.x86_64.txt
dr-xr-xr-x 833 root root    0 Dec 30 18:14 proc
drwxr-x---   1 root root    0 Dec 15 09:59 root
drwxr-xr-x   1 root root    0 Dec  1 14:44 run
lrwxrwxrwx   1 root root    7 Dec 15 09:37 sbin -> usr/bin
drwxr-xr-x   1 root root   14 Dec 15 09:38 srv
dr-xr-xr-x  13 root root    0 Dec 30 18:14 sys
drwxrwxrwt   1 root root    0 Dec 15 09:59 tmp
drwxr-xr-x   1 root root   70 Dec 15 09:59 usr
drwxr-xr-x   1 root root  100 Dec 15 09:37 var
-rw-r--r--   1 root root   11 Dec  1 14:44 version
[root@3f8878a258a7 /]# 

no corruption shown in latest base, i suspect your issue is more to do with the supplied PUID and/or PGID and possibly the UMASK supplied, can you detail your docker run command or docker compose yml.

lagerstrom commented 2 years ago

@binhex

Below are the different version of software I am running and the full output of all the commands you showed above.

~ 
❯❯ docker --version                                                                                             
Docker version 17.12.0-ce, build c97c6d6
~ 
❯❯ lsb_release -a 
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.3 LTS
Release:    20.04
Codename:   focal
 ~ 
❯❯ uname -a
Linux tesla 5.11.0-44-generic #48~20.04.2-Ubuntu SMP Tue Dec 14 15:36:44 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
 ~ 
❯❯ docker pull binhex/arch-base:2021121501
2021121501: Pulling from binhex/arch-base
Digest: sha256:e5a205a7aae1048212ce6ff776432857b03ce23ff7fa5db5f1e31c9606200f46
Status: Image is up to date for binhex/arch-base:2021121501
~ 
❯❯ docker run -it binhex/arch-base:2021121501 bash
[root@5184dbd8881d /]# ls -la 
ls: cannot access '.': Operation not permitted
ls: cannot access 'etc': Operation not permitted
ls: cannot access '..': Operation not permitted
ls: cannot access 'proc': Operation not permitted
ls: cannot access 'sys': Operation not permitted
ls: cannot access 'dev': Operation not permitted
ls: cannot access '.dockerenv': Operation not permitted
ls: cannot access 'pkglist.x86_64.txt': Operation not permitted
ls: cannot access 'run': Operation not permitted
ls: cannot access 'opt': Operation not permitted
ls: cannot access 'sbin': Operation not permitted
ls: cannot access 'bin': Operation not permitted
ls: cannot access 'tmp': Operation not permitted
ls: cannot access 'home': Operation not permitted
ls: cannot access 'version': Operation not permitted
ls: cannot access 'mnt': Operation not permitted
ls: cannot access 'lib64': Operation not permitted
ls: cannot access 'var': Operation not permitted
ls: cannot access '.gnupg': Operation not permitted
ls: cannot access 'usr': Operation not permitted
ls: cannot access 'root': Operation not permitted
ls: cannot access 'boot': Operation not permitted
ls: cannot access 'srv': Operation not permitted
ls: cannot access 'lib': Operation not permitted
total 0
d????????? ? ? ? ?            ? .
d????????? ? ? ? ?            ? ..
l????????? ? ? ? ?            ? bin
d????????? ? ? ? ?            ? boot
d????????? ? ? ? ?            ? dev
-????????? ? ? ? ?            ? .dockerenv
d????????? ? ? ? ?            ? etc
d????????? ? ? ? ?            ? .gnupg
d????????? ? ? ? ?            ? home
l????????? ? ? ? ?            ? lib
l????????? ? ? ? ?            ? lib64
d????????? ? ? ? ?            ? mnt
d????????? ? ? ? ?            ? opt
-????????? ? ? ? ?            ? pkglist.x86_64.txt
d????????? ? ? ? ?            ? proc
d????????? ? ? ? ?            ? root
d????????? ? ? ? ?            ? run
l????????? ? ? ? ?            ? sbin
d????????? ? ? ? ?            ? srv
d????????? ? ? ? ?            ? sys
d????????? ? ? ? ?            ? tmp
d????????? ? ? ? ?            ? usr
d????????? ? ? ? ?            ? var
-????????? ? ? ? ?            ? version
[root@5184dbd8881d /]# 
lagerstrom commented 2 years ago

@binhex updated docker version to version 20.10.12 and now it works. Thank you :)