以下操作均在 Debian 12
上面进行操作,其他系统应该也行,可以自测。
# 注意,请不要在生产环境操作。
sed -i "s@bookworm@trixie@g" /etc/apt/sources.list
apt-get update
apt-get install sudo vim wget curl qemu-system-loongarch64 qemu-user-static debian-ports-archive-keyring debootstrap git git-lfs
systemctl restart systemd-binfmt.service
cd /opt
git clone --depth=1 https://github.com/debuerreotype/debuerreotype
修改 debuerreotype
代码,加上 --extra-suites=unreleased
懒人链接:https://github.com/wojiushixiaobai/docker-debian-artifacts/tree/dist-loong64
cd /opt/debuerreotype
diff --git a/scripts/debuerreotype-init b/scripts/debuerreotype-init
index 9aa86ca..e50bb25 100755
--- a/scripts/debuerreotype-init
+++ b/scripts/debuerreotype-init
@@ -123,7 +123,7 @@ fi
[ -n "$noMergedUsr" ] && debootstrapArgs+=( --no-merged-usr ) || debootstrapArgs+=( --merged-usr )
[ -z "$keyring" ] || debootstrapArgs+=( --keyring="$keyring" )
-[ -z "$arch" ] || debootstrapArgs+=( --arch="$arch" )
+[ -z "$arch" ] || debootstrapArgs+=( --arch="$arch" --extra-suites=unreleased )
[ -z "$include" ] || debootstrapArgs+=( --include="$include" )
[ -z "$exclude" ] || debootstrapArgs+=( --exclude="$exclude" )
mkdir validate
cd /opt/debuerreotype/scripts
for f in debuerreotype-*; do
ln -svL "$PWD/$f" "/usr/local/bin/$f"
done
./examples/debian.sh --arch loong64 --ports validate sid 2023-12-04T00:00:00Z
# 之后会在 validate 目录生成所需要的文件,直接使用 rootfs 也行,就是镜像比较大。
开始制作镜像,不知道为什么,脚本给识别成了 debian
bookworm
,懒得修改了,直接用吧
cd validate/20231204/loong64/sid
cat > Dockerfile << "EOF"
FROM scratch
ADD rootfs.tar.xz /
CMD ["bash"]
EOF
# slim 也拷贝一份
cp Dockerfile slim/Dockerfile
安装 Docker Engine
官方文档:https://docs.docker.com/engine/install/debian/
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl start docker
构建 debian:bookworm
和 debian:bookworm-slim
docker build -t debian:bookworm . --load
cd slim
docker build -t debian:bookworm-slim . --load
# 最终成果
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
debian bookworm 37b9a5bcb70f 7 hours ago 167MB
debian bookworm-slim 0b0915f3d8da 9 hours ago 126MB
容器运行
docker run --rm -it debian:bookworm-slim bash
name -a
exit
# 特权启动
docker run --rm --privileged -it debian:bookworm-slim bash
name -a
exit