В изображении Alpine используется busybox
, а в busybox нет оболочки, так как на самом деле он не предназначен для людей.
Для информации замените
CMD ["/setup.sh"]
по:
CMD /bin/busybox ls -al /bin
Вы получаете:
lrwxrwxrwx 1 root root 12 Jan 9 19:37 ash -> /bin/busybox
lrwxrwxrwx 1 root root 12 Jan 9 19:37 base64 -> /bin/busybox
lrwxrwxrwx 1 root root 12 Jan 9 19:37 bbconfig -> /bin/busybox
-rwxr-xr-x 1 root root 805024 Dec 12 10:42 busybox
lrwxrwxrwx 1 root root 12 Jan 9 19:37 cat -> /bin/busybox
lrwxrwxrwx 1 root root 12 Jan 9 19:37 chgrp -> /bin/busybox
lrwxrwxrwx 1 root root 12 Jan 9 19:37 chmod -> /bin/busybox
lrwxrwxrwx 1 root root 12 Jan 9 19:37 chown -> /bin/busybox
lrwxrwxrwx 1 root root 12 Jan 9 19:37 conspy -> /bin/busybox
lrwxrwxrwx 1 root root 12 Jan 9 19:37 cp -> /bin/busybox
[... snip...]
lrwxrwxrwx 1 root root 12 Jan 9 19:37 tar -> /bin/busybox
lrwxrwxrwx 1 root root 12 Jan 9 19:37 touch -> /bin/busybox
lrwxrwxrwx 1 root root 12 Jan 9 19:37 true -> /bin/busybox
lrwxrwxrwx 1 root root 12 Jan 9 19:37 umount -> /bin/busybox
lrwxrwxrwx 1 root root 12 Jan 9 19:37 uname -> /bin/busybox
lrwxrwxrwx 1 root root 12 Jan 9 19:37 usleep -> /bin/busybox
lrwxrwxrwx 1 root root 12 Jan 9 19:37 watch -> /bin/busybox
lrwxrwxrwx 1 root root 12 Jan 9 19:37 zcat -> /bin/busybox
Кроме того, если вы посмотрите на /lib
таким же образом, вы обнаружите, что обычных библиотек там нет, поскольку busybox
использует musl
вместо glibc
.
Как правило, все, что делается в вашем setup.sh
, все равно должно выполняться с RUN
инструкциями в Dockerfile?
PS :Кстати,
standard_init_linux.go:195: exec user process caused "no such file or directory"
означает, что либо исполняемый файл не найден, либо не найдена одна из необходимых для него библиотек, что сильно затрудняет отладку Dockerfile.
Открыть gnome-disks
или gparted
.
Я рекомендую gparted
.
Выполните sudo apt install gparted
, если он у вас не установлен.
Выберите диск, который вы хотите очистить, в правом верхнем углу и нажмитеDevice
-> Create partition table
.Обычно вы выбираете тип msdos
, так как он читается всеми современными ОС. Теперь ваш диск чист, вы можете создавать новые разделы любого типа. Ubuntu знаком с ext4 или btrfs. Я рекомендую последний вариант, если вы хотите использовать функцию моментального снимка (восстановить резервную копию -состояния файлов ).