2.7 KiB
Build Instructions
Since the base runtime environment for kkfileview rarely changes and takes a long time to build, while the kkfileview code itself is frequently updated, the process of building its Docker image is split into two steps:
First, create the base image for kkfileview (kkfileview-base).
Then, use kkfileview-base as the base image to build and speed up the kkfileview Docker image build and release process.
To build the base image, run the following command:
In this example, the image tag is 4.4.0. The Dockerfile maintained in this project considers cross-platform compatibility. If you need an arm64 architecture image, run the same build command on an arm64 architecture machine.
docker build --tag keking/kkfileview-base:4.4.0 .
Cross-Platform Build
docker buildx
supports building images for multiple platform architectures on a single machine. It is recommended to use this capability for cross-platform image builds.
For example, adding the --platform=linux/arm64
parameter when executing the docker buildx build
command will allow you to build an arm64 architecture image. This is particularly convenient for users who want to build arm64 images but don't have an arm64 machine.
Currently, this project only supports building images for the linux/amd64 and linux/arm64 architectures. The buildx builder driver can use the default
docker
type, but if you use thedocker-container
type, you can build multiple architectures in parallel. This README will not cover that in detail, you can learn more on your own. Refer to Docker Buildx | Docker Documentation
Prerequisites
Assuming the current machine is amd64 (x86_64) architecture, you'll need to enable the docker buildx feature and enable Linux QEMU user mode:
Windows users with WSL2 who have installed a recent version of Docker Desktop will already meet these prerequisites, so no additional setup is required.
-
Install the docker buildx client plugin:
Docker version >=19.03 is required.
If it's already installed, you can skip this step. For more details, refer to https://github.com/docker/buildx.
-
Enable QEMU user mode and install emulators for other platforms:
Linux kernel version >=4.8 is required.
You can quickly enable and install emulators using the tonistiigi/binfmt image by running the following command:
docker run --privileged --rm tonistiigi/binfmt --install all
Now you can enjoy the building. Here’s an example build command:
docker buildx build --platform=linux/amd64,linux/arm64 -t keking/kkfileview-base:4.4.0 --push .