构建说明(docker 版)
这里说明如何从一个 Arch Linux 的 Docker 容器内构建本项目文件。
环境要求
- 一个可联网的、AMD64 架构的操作系统。
- 已经加入了 docker 组的普通用户。
- 已经安装 Docker。
- 或者 podman,但以下仅以 docker 为例。
- 启用了 Docker 相关服务,比如
systemctl enable docker --now
。 - 磁盘空间:视具体情况而定,某次实测约占用宿主机共计不到 8GiB 的空间。
步骤说明
克隆本仓库,为此在 bash 或 zsh 中运行:
# arCNiso 项目目录,路径可据实际情况设置# 若于 docker 容器内构建,请确保它与之前 docker run 的 -v 参数映射到的容器目录路径一致,默认不需要改动ARCN_DIR=$HOME/arCNisogit clone --filter=blob:none https://github.com/clsty/arCNiso $ARCN_DIR && cd $ARCN_DIR
其中 --filter=blob:none
是为了仅下载所需的对象,而忽略多余的 blob,以便加快速度。
如果注重稳定性,建议切换到最新的 tag:
git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
再运行项目目录下的 ./dockerup.sh
。它会自动完成:
- 据
./Dockerfile
构建名为clsty/arcniso
的镜像,- 注:在
Dockerfile
中可以看到,此构建基于 Arch Linux 官方的 archlinux/archlinux-docker 的 base 版本镜像,其提供了多个镜像地址,可根据网络情况自行修改为较快的地址。
- 注:在
- 运行一个名为
arCNiso
的容器,并将项目目录映射到容器内部的/home/archer/arCNiso
(这也是镜像默认的工作目录)。
然后,请运行 ./dockerin.sh
来进入容器内部,余下步骤请接着在这个容器内部完成,参见构建说明(一直到“获取本项目”的部分都要跳过)。
附:一些常用的 docker 命令
获取信息
# 列出正在运行的容器#(加 -a 列出所有容器,加 --no-trunc 关闭缩略显示)docker ps
# 实时显示正在运行的容器的资源占用情况docker stats
# 查看 docker 各种类型的磁盘占用docker system df -v
# 查看容器信息docker inspect <容器名或id>
管理容器
# 启动docker container start <容器名或id># 重启docker container restart <容器名或id># 停止docker container stop <容器名或id># 移除docker container rm <容器名或id>
在宿主与容器之间复制文件,其中容器路径以 <容器名或id>:
开头(例如 arCNiso:/home/archer/
)
docker cp <源路径> <目标路径>