ubuntu x86环境创建armv8 ubuntu2004 64位docker服务器

2023-12-19 22:12

本文主要是介绍ubuntu x86环境创建armv8 ubuntu2004 64位docker服务器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在arm编译速度慢,运行vscode远程耗费资源,因此尝试在ubuntu服务器上搭建armv8 64位编译环境,过程很简单,记录如下

一、安装qemu解释器

# 宿主机安装解释器和时区设置
sudo apt install -y qemu-user-static tzdata
# 重启docker
sudo systemctl restart docker

二、编写Dockerfile

内容如下:

# 使用多阶段构建,首先从x86_64的Ubuntu镜像开始
FROM ubuntu:20.04 as builder# 安装 qemu-user-static
RUN apt-get update && apt-get install -y qemu-user-static tzdata# 设置时区为东八区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone# 从aarch64的Ubuntu镜像创建最终的镜像
FROM arm64v8/ubuntu:20.04# 复制 qemu-aarch64-static 从x86_64镜像
COPY --from=builder /usr/bin/qemu-aarch64-static /usr/bin
COPY --from=builder /usr/share/zoneinfo/Asia/Shanghai /usr/share/zoneinfo/Asia/Shanghai# 设置时区为东八区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo $TZ > /etc/timezone# 替换源为清华镜像源
RUN sed -i s@/ports.ubuntu.com/@/mirrors.tuna.tsinghua.edu.cn/@g /etc/apt/sources.list
#    sed -i s@/archive.ubuntu.com/@/mirrors.tuna.tsinghua.edu.cn/@g /etc/apt/sources.list && \
#    sed -i s@/security.ubuntu.com/@/mirrors.tuna.tsinghua.edu.cn/@g /etc/apt/sources.list# 安装build-essential, cmake, Python及相关工具
RUN apt-get update && apt-get install -y \build-essential \cmake \vim \iputils-ping \net-tools \iproute2 \libssl-dev \libopencv-dev \libfreetype6-dev \libcurl4-openssl-dev \git \curl \wget \lsb-release \gdb \unzip \tar \python3 \python3-pip \python3-setuptools \python-is-python3 \software-properties-common \&& rm -rf /var/lib/apt/lists/*# 设置pip和pip3使用国内镜像源
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip -U && \pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/ && \pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip -U && \pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/# 设置工作目录
WORKDIR /workspace# 指定默认命令
CMD ["/bin/bash"]

三、构建docker镜像

sudo docker build -t your_docker_image_name:your_tag -ubuntu2004 .

等待构建完成通过sudo docker images即可查看构建成功的镜像,也可通过docker save保存镜像

sudo docker save -o your_save_name.tar your_docker_image_name

通过docker run进入Docker

sudo docker run --network=host -v your_path:/workspace -it your_image_id /bin/bash

这篇关于ubuntu x86环境创建armv8 ubuntu2004 64位docker服务器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/513877

相关文章

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

创建Java keystore文件的完整指南及详细步骤

《创建Javakeystore文件的完整指南及详细步骤》本文详解Java中keystore的创建与配置,涵盖私钥管理、自签名与CA证书生成、SSL/TLS应用,强调安全存储及验证机制,确保通信加密和... 目录1. 秘密键(私钥)的理解与管理私钥的定义与重要性私钥的管理策略私钥的生成与存储2. 证书的创建与

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

Ubuntu如何分配​​未使用的空间

《Ubuntu如何分配​​未使用的空间》Ubuntu磁盘空间不足,实际未分配空间8.2G因LVM卷组名称格式差异(双破折号误写)导致无法扩展,确认正确卷组名后,使用lvextend和resize2fs... 目录1:原因2:操作3:报错5:解决问题:确认卷组名称​6:再次操作7:验证扩展是否成功8:问题已解

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker