• 【解决了一个小问题】macbook m1上的docker build问题


    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!


    1. docker hub限制的问题

    因为docker build有问题,导致多次从docker hub拉去镜像,导致了超限:

    docker pull amd64/alpine:3.12.0
    
    You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limits.
    

    官方站点的介绍文章为:Understanding Docker Hub Rate Limiting
    看起来要充会员才行!!!他们挺缺钱的,心疼一下他们,不过我更缺啊。
    终于在腾讯云上找到了同样的镜像:

    docker pull ccr.ccs.tencentyun.com/edgeprivate/alpine-amd64:3.12
    

    然后基础镜像依赖上面的镜像就ok了!

    2. m1芯片build成了ARM版本的问题

    Dockerfile的内容大致如下:

    FROM alpine:3.12.0
    
    ENV PATH /usr/local/bin:$PATH
    ENV LANG C.UTF-8
    
    ENV TZ=Asia/Shanghai
    // 还有更多
    

    执行编译命令:

    docker build -f Dockerfile -t ccr.ccs.tencentyun.com/ahfuzhang/victoria-metrics-starter:v1.72.2 . --network=host
    

    镜像推送到腾讯云后,启动容器出现如下错误:

    standard_init_linux.go:228: exec user process caused: exec format error
    

    搜索到了这篇文章说明这个问题:docker运行容器报错standard_init_linux.go:211: exec user process caused “exec format error“的可能解决办法

    由此看来,m1芯片的macbook上打包镜像,默认会打包为ARM格式的

    3. m1芯片上,docker build amd64格式的镜像

    修改dockerfile如下:

    FROM --platform=linux/amd64 ccr.ccs.tencentyun.com/edgeprivate/alpine-amd64:3.12
    
    ENV PATH /usr/local/bin:$PATH
    ENV LANG C.UTF-8
    
    ENV TZ=Asia/Shanghai
    

    然后docker build中也指定platform:

    docker build -f Dockerfile -t ccr.ccs.tencentyun.com/ahfuzhang/victoria-metrics-starter:v1.77.2 . \
    	--network=host \
    	--platform=linux/amd64
    

    一开始报错如下:

    failed to solve with frontend dockerfile.v0: failed to create LLB definition: pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed
    

    还好也搜索到了文章:关于M1 docker build 报错

    修改后重启docker,build成功!

  • 相关阅读:
    TCP 连接中的TIME_WAIT
    tcp 重组原理
    自己用wireshark 抓了个包,分析了一下
    wireshark 使用技巧
    IP 网际协议
    CSS3 选择器
    ajax 底层源码解析
    初识 Java
    jQuery (DOM篇)
    绘制 SVG
  • 原文地址:https://www.cnblogs.com/ahfuzhang/p/16396785.html
Copyright © 2020-2023  润新知