当前位置: 首页 > news >正文

手机容器化 安装docker

旧手机-基于Termux容器化

1、安装app
在手机上安装Termux或ZeroTermux(Termux扩展)
在这里插入图片描述
1.1 切换源
注:可以将termux进行换源,最好采用国内源,例如:清华源等
在这里插入图片描述

更新包列表和升级包(可选,但推荐)

pkg update
pkg upgrade
  1. 安装 tsu

    pkg install tsu
    
  2. 使用 tsu 提升到 root 权限

    tsu
    
  3. 输入设备密码(如果需要)。

tsu 是一个在 Termux 中切换到 root 用户权限的实用程序。安装完成后,你可以通过 tsu 命令启动一个新的 shell 会话,该会话具有 root 权限。

在 Termux 中安装 Docker

因为 Termux 的环境与 Docker 运行时的要求不完全匹配。通常在 Android 设备上运行 Docker 需要一些特定的设置和支持,例如安装 Linux 内核以及使用特定的工具链和环境。如果你希望在 Android 设备上运行 Docker,可以考虑以下一些方法:

pkg update && pkg install  docker

在这里插入图片描述
在这里插入图片描述

  1. 使用 UserLAndTermux 中的 Docker 插件

    • 有些第三方工具可以在 Android 设备上模拟 Linux 环境,并且支持 Docker。例如,UserLAnd 可以提供一个完整的 Linux 用户空间,你可以在其中安装和运行 Docker。
  2. 使用具有 Linux 支持的 Android 发行版

    • 有一些 Android 发行版(例如 Linux Deploy)允许你安装和配置一个完整的 Linux 系统,包括 Docker。这种方法需要一定的技术知识和对 Android 系统的访问权限。
  3. 使用特定的 Android 设备和 ROM

    • 一些高端 Android 设备和某些定制的 ROM 可能支持在 Android 系统上运行 Docker 容器。这种情况下,你可能需要查找特定的设备和 ROM 支持的信息,并按照相应的方法进行设置。

检查和挂载 cgroup 支持

  1. 挂载 tmpfs/sys/fs/cgroup

    sudo mount -t tmpfs -o mode=755 tmpfs /sys/fs/cgroup
    
  2. 创建 /sys/fs/cgroup/devices 目录

    sudo mkdir -p /sys/fs/cgroup/devices
    
  3. 挂载 cgroup/sys/fs/cgroup/devices

    sudo mount -t cgroup -o devices cgroup /sys/fs/cgroup/devices
    

如果在执行上述命令时遇到错误,通常意味着你的内核缺少 CONFIG_CGROUP_DEVICE 配置。

检查内核支持的功能

Docker 提供了一个脚本,可以检查你的内核是否支持所有必需的功能。你可以下载并运行这个脚本来进行检查。

  1. 下载检查脚本

    wget https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh
    
  2. 运行检查脚本

    bash check-config.sh
    

这个脚本会输出你的内核当前支持的功能,并指出哪些功能缺失。

设置镜像源并更新包

在 Termux 中,可以通过编辑 sources.list 文件来设置包管理器的镜像源。

  1. 打开 sources.list 文件

    nano $PREFIX/etc/apt/sources.list
    
  2. 添加或更改镜像源,例如:

    deb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main
    
  3. 保存并退出 nano 编辑器

    • Ctrl + O 保存文件。
    • Enter 确认文件名。
    • Ctrl + X 退出编辑器。
  4. 更新包列表并升级

    pkg update
    pkg upgrade
    

这些步骤可以帮助你确保你的系统具备运行 Docker 所需的内核功能,并正确设置包管理器的镜像源。如果仍有问题,可能需要检查你的内核配置,确保启用了必要的功能。
docker 替代方案

  1. https://blog.csdn.net/qq_57851190/article/details/128757438
  2. https://indigo-dc.github.io/udocker/installation_manual.html
  3. https://mirror.ghproxy.com/
    开源项目
    使用手册
    参考1
    参考2

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 华为模拟器ensp中USG6000V防火墙web界面使用
  • Xilinx FPGA:vivado串口输入输出控制fifo中的数据
  • 构建LangChain应用程序的示例代码:62、如何使用Oracle AI向量搜索和Langchain构建端到端的RAG(检索增强生成)pipeline
  • 【Python基础】代码如何打包成exe可执行文件
  • 力扣题解( 最长湍流子数组)
  • R语言学习笔记5-数据结构-多维数组
  • 如何通过JSON-RPC向以太坊链发送签名交易数据?
  • Open3D 点云配准精度评价指标-RMSE
  • 华为机考真题 -- 螺旋数字矩阵
  • “金山-讯飞”杯2024年武汉理工大学程序设计竞赛 A. Mobiusp败走***(思维题-点双连通分量、连通性)
  • 51单片机:电脑通过串口控制LED亮灭(附溢出率和波特率详解)
  • SVN 解决冲突
  • 《算法笔记》总结No.6——贪心
  • Elasticsearch:Node.js ECS 日志记录 - Morgan
  • 【全面介绍语言模型的原理,实战和评估】
  • 分享的文章《人生如棋》
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 0x05 Python数据分析,Anaconda八斩刀
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • CentOS6 编译安装 redis-3.2.3
  • ECMAScript入门(七)--Module语法
  • iOS小技巧之UIImagePickerController实现头像选择
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • MySQL用户中的%到底包不包括localhost?
  • ReactNativeweexDeviceOne对比
  • Shadow DOM 内部构造及如何构建独立组件
  • SpiderData 2019年2月13日 DApp数据排行榜
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 优化 Vue 项目编译文件大小
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​批处理文件中的errorlevel用法
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • # Java NIO(一)FileChannel
  • #Datawhale AI夏令营第4期#多模态大模型复盘
  • (~_~)
  • (Charles)如何抓取手机http的报文
  • (c语言)strcpy函数用法
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (Note)C++中的继承方式
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (十一)手动添加用户和文件的特殊权限
  • (四) 虚拟摄像头vivi体验
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (转)用.Net的File控件上传文件的解决方案
  • .NET 8.0 发布到 IIS
  • .net mvc部分视图
  • .Net OpenCVSharp生成灰度图和二值图
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .net 使用ajax控件后如何调用前端脚本
  • .net通用权限框架B/S (三)--MODEL层(2)