【容器】【Linux】CentOS 9使用Docker镜像实现交叉编译

1 安装Docker

dnf config-manager --add-repo=http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
dnf makecache
dnf install -y docker-ce
systemctl start docker

之后就可以拉取镜像了,由于一些原因,无法从DockerHub拉取镜像,此时通常有两种办法,一种是找国内对应的镜像仓库,另一种方式是找代理。

经过测试发现,国内的镜像仓库是需要登录的,有些麻烦,好在,有些代理还是可以用的,例如:https://docker.1panel.live/,当需要拉取ubuntu时,可以使用:

docker pull docker.1panel.live/library/ubuntu

2 安装QEMU模拟器

如果需要在x86环境构建arm平台代码,需要安装QEMU模拟机:

docker run --rm --privileged docker.1panel.live/multiarch/qemu-user-static --reset -p yes

3 构建基础镜像

FROM arm64v8/ubuntu:16.04
RUN sed -i "s@http://.*archive.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list && \
    sed -i "s@http://.*security.ubuntu.com@https://mirrors.tuna.tsinghua.edu.cn@g" /etc/apt/sources.list && \
    apt-get update && \
    apt-get install -y gcc g++ cmake binutils-dev
CMD ["/bin/bash"]

与x86的主要区别是基础镜像要用arm64v8/ubuntu,之后就可以基于上述镜像去编译自己的程序。

4 参考文档

相关推荐

  1. Docker容器镜像

    2024-07-22 22:20:02       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-22 22:20:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-22 22:20:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-22 22:20:02       45 阅读
  4. Python语言-面向对象

    2024-07-22 22:20:02       55 阅读

热门阅读

  1. Math Reference Notes: 数学思想和方法

    2024-07-22 22:20:02       13 阅读
  2. Flask: URL 视图函数 路由

    2024-07-22 22:20:02       15 阅读
  3. web前端 React 框架面试200题(四)

    2024-07-22 22:20:02       13 阅读
  4. Redis 持久化详解

    2024-07-22 22:20:02       15 阅读
  5. 设计模式-抽象工厂模式

    2024-07-22 22:20:02       11 阅读