未分类
「Docker Buildx」- 构建“跨平台”镜像
使用Buildx 在x86架构centos上构建支持多架构镜像, 首先, 要确保内核大于4.0 升级内核版本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm # 查询目前可升级的内核版本 yum --disablerepo="*" --enablerepo="elrepo-kernel" list available # 安装kernel-ml 最新版 yum --enablerepo=elrepo-kernel install kernel-ml -y # 查询所有启动候选项 awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg # 设置grub引导默认启动项 grub2-set-default 0 # 重启 reboot # 检测内核版本 uname -a |
卸载旧内核
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[root@localhost ~]# rpm -qa | grep kernel kernel-3.10.0-327.22.2.el7.x86_64 kernel-devel-3.10.0-327.22.2.el7.x86_64 kernel-tools-libs-3.10.0-327.28.2.el7.x86_64 kernel-headers-3.10.0-327.28.2.el7.x86_64 kernel-3.10.0-327.28.2.el7.x86_64 kernel-devel-3.10.0-327.13.1.el7.x86_64 php-symfony-http-kernel-2.8.7-1.el7.noarch kernel-tools-3.10.0-327.28.2.el7.x86_64 kernel-devel-3.10.0-327.28.2.el7.x86_64 kernel-devel-3.10.0-327.18.2.el7.x86_64 [root@localhost ~]# yum remove kernel-3.10.0* [root@localhost ~]# reboot |
安装docker:
1 2 3 4 |
# 最新版 curl -sSl https://qiao.dev/bash/install_docker_latest_centos.sh | sh # k8s最新支持版本 18.09.8 curl -sSl https://qiao.dev/bash/install_docker_18.09.8_centos.sh | sh |
开启特性: /etc/systemd/system/docker.service.d/docker-options.conf 中加入: –experimental=true \ 可以添加私有仓库的ssl证书到buildx容器内
1 2 3 4 |
BUILDER=$(docker ps | grep buildkitd | cut -f1 -d' ') docker cp /etc/docker/certs.d/harbor.offline/harbor.offline.crt $BUILDER:/usr/local/share/ca-certificates/ docker exec $BUILDER sh -c "cat /usr/local/share/ca-certificates/harbor.offline.crt >> /etc/ssl/certs/ca-certificates.crt" docker restart $BUILDER |
启动交叉编译: 方式1:
1 2 3 |
docker run -it --rm --privileged tonistiigi/binfmt --install all docker buildx create --name multi-platform --use --platform linux/amd64,linux/arm64 --driver docker-container |
方式2 : 也可以安装qemu:
1 2 3 4 |
# 安装epel yum库 wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo yum clean all yum install qemu -y |
如构建ntp构建: docker buildx build –platform linux/amd64,linux/arm64 -t chrony . 如果想将构建好的镜像保存在本地,可以将 type 指定为 docker,但必须分别为不同的 CPU 架构构建不同的镜像,不能合并成一个镜像,即: docker buildx build –platform linux/amd64,linux/amd64-t chrony -o type=docker . docker Read more…