码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 在服务器上使用Docker buildx构建适用于jetson(linux/arm64/v8)平台的镜像


    Docker buildx构建适用于jetson(linux/arm64/v8)平台的镜像

    • 1 背景
    • 2 创建镜像
      • 2.1 启用Buildx
      • 2.2 修改Dockerfile
      • 2.3 构建镜像
      • 2.4 运行容器
      • 2.5 apt配置国内源
      • 2.6 更换cudnn
      • 2.7 容器生成新镜像
      • 2.8 镜像导出成tar包
      • 2.9 jetson加载镜像

    1 背景

    该镜像内置了deepface人脸识别功能

    在服务器上构建好的镜像,在jetson上加载该镜像时出现平台不匹配问题WARNING: The requested image's platform (linux/arm64) does not match the detected host platform (linux/amd64/v8) and no specific platform was requested.
    原因:

    dockers镜像的系统架构类型和主机(虚拟机)的系统架构类型不一样。

    Docker 提供了一种名为 Buildx 的功能,它允许在不同的平台上进行多架构构建。因此考虑使用 Buildx 在 amd64 平台上构建适用于 linux/arm64/v8 平台的 Docker 镜像。

    #查看服务器系统架构
    ubuntu@ubuntu-server:~$ uname -m
    x86_64
    ubuntu@ubuntu-server:~$ dpkg --print-architecture
    amd64
    
    • 1
    • 2
    • 3
    • 4
    • 5
    #查看jetson系统架构
    nvidia@ubuntu:~$ uname -m
    aarch64
    #查看jetson操作系统位数
    nvidia@ubuntu:~$ dpkg --print-architecture
    arm64
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2 创建镜像

    2.1 启用Buildx

    确保Docker 安装中已启用 Buildx。可以运行以下命令来检查:

    ubuntu@ubuntu-server:~$ docker buildx version
    github.com/docker/buildx v0.8.1-docker 5fac64c2c49dae1320f2b51f1a899ca451935554
    #如果输出如上字样或者包含 "multi-platform" 或 "builder" 字样,那么 Buildx 已启用。否则,需要确保 Docker 版本符合要求,并启用实验性功能。
    
    • 1
    • 2
    • 3

    2.2 修改Dockerfile

    在使用前文Docker部署深度学习项目(cuda11.2+cudnn8.8+deepface)的Dockerfile构建镜像时,buildx提示无法找到waf/mllab镜像,出现了Docker buildx 无法找到本地 docker 镜像的问题(待解决)。
    因此修改Dockerfile内容如下:

    #base image
    #FROM python:3.8
    #修改基础镜像,因为要使用gpu
    FROM nvidia/cuda:11.2.2-cudnn8-devel-ubuntu20.04
    LABEL org.opencontainers.image.source https://github.com/serengil/dee
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    实现按钮悬停动画
    vite配置.env环境变量文件,开发环境,测试环境,预发布环境,生产环境
    C#sharp数据库连接字符串
    js中await用法
    AnyLabeling标定及转化成labelmaskID
    电脑系统还原怎么操作?
    卷积神经网络Inception Net
    针对 DNS 监控的 Grafana Dashboard面板DeepFlow
    开关电源测试方案介绍:如何进行电源耐压测试?
    单元测试用例到底该如何设计?
  • 原文地址:https://blog.csdn.net/u014377655/article/details/136259206
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号