zoukankan      html  css  js  c++  java
  • docker如何构建多架构(arm64, x86_64, armv7)容器镜像?

    1. 更新docker的版本到大于或等于19.03

    1.1 x86下如何更新docker?

    $ sudo apt install -y apt-transport-https
    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 
    $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    $ sudo apt-get update
    $ sudo apt-get install docker-ce
    

    1.2 检查以下docker的版本

    $ docker --version
    

    2. 编辑~/.docker/config.json文件来使能这个处于实验阶段的buildx功能(按照官方文档修改此配置文件并未生效)

    $ cat ~/.docker/config.json
    {
       "experimental": "enabled"
    }
    2.1 笔者通过往/etc/docker/daemon.json文件中添加以下内容即可生效(生效需要重启docker)
    $ cat /etc/docker/daemon.json
    {
      "experimental": true
    }
    

    3. 重启docker使配置生效

    $ sudo systemctl restart docker
    

    4. 检查docker是否使能处于实验阶段的新特性

    $ sudo docker info | grep -i exp
    Experimental: true (输出此信息表明已启用处于实验阶段的新特性)  
    

    5. switch to a different driver

    $ sudo docker buildx create --name testbuilder --driver-opt env.http_proxy=$http_proxy --driver-opt env.https_proxy=$https_proxy --driver-opt '"env.no_proxy='$no_proxy'"'
    $ sudo docker buildx use testbuilder
    

    6. 开始构建(保证当前目录下有Dockerfile文件)

    $ sudo docker buildx build --platform linux/amd64,linux/arm64,linux/armv7 -t test_demo:1.0 .
    

    7. 参考资料

    https://github.com/docker/buildx/#installing

  • 相关阅读:
    Core Text 实现富文本显示
    音视频直播服务平台总结
    WWDC2017那些事
    Swift网络请求(Moya篇)
    [转贴]孙正耀退休感言
    不要让专业限制了你的高度
    你会搞科研吗?
    上传服务端
    AysnTask+HttpClient实现上传
    TextView改变颜色
  • 原文地址:https://www.cnblogs.com/dakewei/p/13332688.html
Copyright © 2011-2022 走看看