amd架构主机构建arm架构kkfileview
修改本机使用镜像仓库地址
vim /etc/docker/daemon.json
{
“experimental”: true,
“registry-mirrors”: [
“https://docker.m.daocloud.io”,
“https://docker.1panel.live”,
“http://mirrors.ustc.edu.cn/”,
“http://mirror.azure.cn/”,
“https://docker.hpcloud.cloud”,
“https://docker.m.daocloud.io”
]
}
新建buildkitd.toml文件
buildkitd.toml 文件内容
[registry.“docker.io”]
mirrors = [“https://docker.1panel.live”,“http://mirrors.ustc.edu.cn/”,“http://mirror.azure.cn/”,“https://docker.hpcloud.cloud”,“https://docker.m.daocloud.io”]
进入buildkitd容器操作
docker exec -it buildx-stable-1 sh
cd /etc
mkdir buildkit
exit
退出容器
将新文件拷贝到固定目录下
docker cp buildkitd.toml buildx-stable-1:/etc/buildkit/
重启容器
docker restart buildx-stable-1
构建基础镜像
cd /app/kkfiledocker/file-online-preview/docker/kkfileview-base
– 构建镜像
docker buildx build --pull=false --platform linux/arm64 -t keking/kkfileview-base:4.4.0 -f Dockerfile . --load
– 导入镜像到本地
docker import kkfile-base.tar keking/kkfileview-base:4.4.
构建最终镜像
– 进入构建镜像目录
cd /app/kkfiledocker/file-online-preview
– 构建镜像
docker build --pull=false -t keking/kkfileview:4.4.0
– 验证镜像架构
docker inspect keking/kkfileview:4.4.0 | grep Architecture
相关dockerfile文件
FROM ubuntu:24.04 AS build
RUN sed -i 's@//.archive.ubuntu.com@//mirrors.ustc.edu.cn@g’ /etc/apt/sources.list.d/ubuntu.sources &&
sed -i ‘s@//security.ubuntu.com@//mirrors.ustc.edu.cn@g’ /etc/apt/sources.list.d/ubuntu.sources &&
sed -i ‘s@//ports.ubuntu.com@//mirrors.ustc.edu.cn@g’ /etc/apt/sources.list.d/ubuntu.sources &&
apt-get update &&
export DEBIAN_FRONTEND=noninteractive &&
apt-get install -y --no-install-recommends openjdk-8-jre tzdata locales xfonts-utils fontconfig libreoffice-nogui &&
echo ‘Asia/Shanghai’ > /etc/timezone &&
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&
localedef -i zh_CN -c -f UTF-8 -A /usr/share/locale/locale.alias zh_CN.UTF-8 &&
locale-gen zh_CN.UTF-8 &&
apt-get install -y --no-install-recommends ttf-mscorefonts-installer &&
apt-get install -y --no-install-recommends ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy &&
apt-get autoremove -y &&
apt-get clean &&
rm -rf /var/lib/apt/lists/
内置一些常用的中文字体,避免普遍性乱码
ADD fonts/* /usr/share/fonts/chinese/
RUN cd /usr/share/fonts/chinese &&
# 安装字体
mkfontscale &&
mkfontdir &&
fc-cache -fv
ENV LANG=zh_CN.UTF-8 LC_ALL=zh_CN.UTF-8
FROM keking/kkfileview-base:4.4.0 AS build
ADD server/target/kkFileView-*.tar.gz /opt/
ENV KKFILEVIEW_BIN_FOLDER=/opt/kkFileView-4.4.0/bin
ENTRYPOINT [“java”,“-Dfile.encoding=UTF-8”,“-Dspring.config.location=/opt/kkFileView-4.4.0/config/application.properties”,“-jar”,“/opt/kkFileView-4.4.0/bin/kkFileView-4.4.0.jar”]
将镜像打包
docker save -o kkfileview-4.4.0.tar keking/kkfileview-base:4.4.0