作为Docker容器的基础镜像,BusyBox具有以下优势:极小的镜像体积,加速部署和传输过程完整的基础命令集,满足大多数容器化应用需求多种libc变体支持(glibc、uclibc、musl),适应不同场景广泛的架构支持 ,包括amd64、arm32v5/v6/v7、arm64v8等本文档将详细介绍BusyBox的Docker容器化部署方案,包括环境准备、镜像拉取、容器部署、功能测试及生产环境优化建议,为开发和运维人员提供标准化的部署指南 环境准备Docker环境安装部署BusyBox容器前,需先确保Docker环境已正确安装。 https://github.com/docker-library/busybox总结本文详细介绍了BUSYBOX的Docker容器化部署方案,从环境准备、镜像拉取到容器部署、功能测试,全面覆盖了BusyBox BusyBox作为轻量级工具集合,在资源受限环境、嵌入式系统及最小化容器镜像构建中具有显著优势,通过Docker容器化部署可进一步提升其易用性和可移植性。
可以使用 docker pull 指令下载 busybox:latest 镜像:PS C:\Users\yhu> docker pull busybox:latestlatest: Pulling from :latestdocker.io/library/busybox:latestWhat's Next? View a summary of image vulnerabilities and recommendations → docker scout quickview busybox:latestPS C:\Users\yhu>下载后,可以看到 busybox 镜像只有 4.26 MB:PS C:\Users\yhu> docker image lsREPOSITORY 这也就是为什么 Docker 官方切换到 Alpine 的原因。
在以前,Docker 官方为了压缩容量,保证容器的启用,其实都在使用 busybox,但后期,Docker 官方开始使用 Alpine 来替代 busybox。 获取官方镜像可以使用 docker pull 指令下载 busybox:latest 镜像:PS C:\Users\yhu> docker pull busybox:latestlatest: Pulling 这也就是为什么 Docker 官方切换到 Alpine 的原因。运行 busybox启动一个 busybox 容器,并在容器中执行 grep 命令。从启动的速度来看,那就是几乎是光速了。 随着官方对 Docker 容器切换的情况来看,Busybox 对大部分使用 Docker 的人来说可能用不上。基本上了解下即可。 https://www.isharkfly.com/t/docker-busybox/15734
有些机子的adb里,可能只有一些基本的命令,而少了一些常用的命令,如grep, 要想使用这些命令,可以安装bosybox (注意,机子要有root权限) step1.adb push c:/busybox /mnt/sdcard/ step2.用"re文件管理器" 把已经拷到sdcard的busybox移动到/system/xbin目录 step3. adb shell su mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system cd /system/xbin chmod 755 busybox busybox --install . step4.测试是否成功: adb shell df | grep "" 或者直接执行命令: grep busybox+终端模拟器 http://download.csdn.net/detail/ggcrazy
busybox 来构建自己的"registry" docker image,下面跟我来实现这个基于busybox的“registry" image. busybox #首先创建相应的目录; [root@localhost docker_study]# for i in `. /busybox --list-full`;do ln -s /root/docker_study/busybox $i;done 通过以上两步,关于busybox的工作就完成了;下面我们需要拿到registry 这个服务的相关文件,并部署到/root/docker_study的相应目录下,这里借助official的registry image,找到相应的文件,并放到当前的/root/docker_study/对应目录下 @localhost docker_study]# cp busybox root/docker_study/ #重新进行docker build.
把”busybox-armv6l”重命名为”busybox”; 将busybox传入手机的SD卡, 打开terminal(Linux,Mac)或cmd(Windows)adb push ~/Desktop /busybox /mnt/sdcard 其中的~/Desktop请根据自己的情况替换成正确的路径 输入以下命令,为了在/system目录写入文件 adb shellsumount -o remount 复制 busybox 文件到 /system/xbin,并且为其分配“可执行”的权限 cp /mnt/sdcard/busybox /system/xbinchmod 755 busybox 现在就可以使用 busybox 的命令了,例如以前没有清屏的clear命令,现在只需输入 busybox clear 就可以实现清屏功能,使用完整版的 ls 只需输入 busybox ls 。 但是每次前面都加上个busybox太麻烦了,所以我们还要继续完成安装。在 /system/xbin 下输入 busybox –install . 如果想要安装到别的目录,把点替换成别的路径即可。
把”busybox-armv6l”重命名为”busybox”; 将busybox传入手机的SD卡, 打开terminal(Linux,Mac)或cmd(Windows)adb push ~/Desktop /busybox /mnt/sdcard 其中的~/Desktop请根据自己的情况替换成正确的路径 输入以下命令,为了在/system目录写入文件 adb shellsumount -o remount 复制 busybox 文件到 /system/xbin,并且为其分配“可执行”的权限 cp /mnt/sdcard/busybox /system/xbinchmod 755 busybox 现在就可以使用 busybox 的命令了,例如以前没有清屏的clear命令,现在只需输入 busybox clear 就可以实现清屏功能,使用完整版的 ls 只需输入 busybox ls 。 但是每次前面都加上个busybox太麻烦了,所以我们还要继续完成安装。在 /system/xbin 下输入 busybox –install . 如果想要安装到别的目录,把点替换成别的路径即可。
通常,帮朋友部署 WordPress 的这个场景下,你可以找朋友开一台新的服务器,初始化一套 LAMP,直接把 WordPress 给 wget 进去,就可以在你的浏览器里完成配置了。 但是,前两天我需要在自己的服务器上部署一个 WordPress 服务。我这样的蒟蒻当然是无缘使用世界上最好的编程语言—— PHP 的啦。没有 PHP,还部署个屁的 WordPress。 所以就想到了—— Docker,用容器去把它装起来就好了嘛。 想到就动手做,接下来我们就看看怎么用 Docker 部署 WordPress。 为了方便,同时也多练习 Docker 的使用,我们干脆再拉一个 mysql 镜像,让整套服务完全在 docker 里运行: $ docker pull mysql:latest 注意,这篇文章写在 2020 (当然,我只是开一个简单的小服务,基本没人用,所以也就几乎没有安全风险,但您在部署的时候还是要花点时间认真考虑安全问题的) 接下来就是在您的浏览器访问 http://xxx:2020/wp-admin/
注:前置知识来源于: 《基于busybox构建最小linux Docker镜像系统》,文章主体根据实际情况发展推进。 为了构建该平台的 Docker 测试镜像,有两种方案: 基于 busybox 构建带有常用 Linux 命令的镜像; 基于当前操作系统直接打包构建镜像。 为了从更底层了解 Docker 构建的原理和方法,本次介绍基于 busybox 构建的方法和流程。 -jxvf busybox-1.32.1.tar.bz2 #解压 $ cd busybox-1.32.1 之后编译: # 编译busybox $ make menuconfig #修改配置如下: 参考文献# 基于busybox构建最小linux Docker镜像系统 By hkNaruto 深入理解 Linux 启动过程 | QEMU 启动 linux 内核和自制根文件系统 By Frytea
安装busybox 手机要root 查看对应arm adb shell getprop ro.product.cpu.abi > arm64-v8a 下载busybox 下载最新版本下,对应的arm busybox download 修改名称为busybox busybox-armv6l push adb push busybox /sdcard 修改/system 目录可读写 adb shell /system/xbin cd /system/xbin chmod 755 busybox cd /system/xbin busybox --install . Tips 如果没有cp命令 1|root@android:/ # cp /sdcard/busybox /system/xbin sh: cp: not found mv /sdcard/busybox android安装busybox
很多人用 busybox,但是不是很多人能说出来 busybox 是个什么东西。 而我们经常在 Dockerhub 下载的 busybox 镜像则是由 Docker 社区维护的,也就是一般来说 busybox 镜像不会改也不会加什么命令,一般直接对接的就是 busybox 本身,当然有兴趣的话 ,可以看看 busybox 的命令源码 https://hub.docker.com/_/busybox https://en.wikipedia.org/wiki/BusyBox https:/ /github.com/docker-library/busybox 举个例子 wget 的实现。 https://git.busybox.net/busybox/tree/networking/wget.c?
busybox中提供了一个syslog. 有一个配置项是 CONFIG_BUSYBOX_CONFIG_FEATURE_ROTATE_LOGFILE: This enables syslogd to rotate the message files
安装busybox按以下步骤即可: 1.root手机 2.查看手机支持的cpu架构:cat /system/build.prop | grep abi 我手机查出来的结果如下所示: ro.product.cpu.abi =armeabi-v7a ro.product.cpu.abi2=armeabi 3.下载适合你手机的Busybox,可以直接下载binary文件,地址如下: https://busybox.net/downloads /binaries/ 由于我的手机适合arm架构,所以我这里就下载了: wget https://busybox.net/downloads/binaries/latest/busybox-armv7l 4.将busybox push到/system/xbin/中,然后将其权限改为755,这样,就可以使用busybox了.使用方法:busybox find / 5.如果不想加上busybox,那么可以选择安装 busybox,方法如下: .
Busybox,大家应该有所耳闻,其中集成了众多linux的命令和工具。 有时候在手机上想使用 find,grep等命令但是手机不支持。这时可以在手机上安装busybox. 使用方法: 1.确定手机型号cpu的指令集,cat /proc/cpuinfo 如armv7,armv4,armv6,去网上下载二进制busybox文件。 下载地址: http://www.busybox.net/downloads/binaries/ 包含busybox所有版本的可执行文件,其中latest目录下的为最新编译的二进制文件。 2.remount system 文件夹 3.将busybox放到/system/bin目录下,并修改权限”chmod 777 busybox” 4.安装busybox,adb shell下执行 . /busybox –install -s /system/xbin ,这会将一堆工具拷贝到xbin目录下,如find,mknod。 5.尝试运行mknod 有这个就说明安装成功了.
busybox是什么? (1)busybox是Linux上的一个应用程序(application),即只有一个ELF文件头。 (3)busybox的官方网站是http://www.busybox.net/,在这里你可以找到与busybox相关的所有资料。 busybox编译和移植 busybox 的编译与Linux内核的编译过程类似。 (“make CROSS_COMPILE=”将用gcc编译PC机上运行的busybox. busybox的使用 busybox的使用很简单,有以下三种方式: (1) busybox后直接跟命令,如 busybox ls busybox tftp (2) 直接将busybox重命名,如 cp busybox tftp cp busybox tar 然后再执行tftp, tar (3)创建符号链接(symbolic
博主还提供了另一种方式,每次发布只需要将打包后的dist内容放到linux主机目录即可,感兴趣的道友可以直接参考这一篇:docker 安装 nginx 发布Vue项目_苍穹之跃的博客-CSDN博客nginx nginx # 将dist文件中的内容复制到 /usr/share/nginx/html/ 这个目录下面 COPY dist/ /usr/share/nginx/html/ 第三步:安装nginx docker pull nginx docker run --name nginx -d -p 4030:80 nginx 访问4030端口看看是否安装成功。 第四步:linux上找个空目录放项目文件和Dockerfile 第五步:构建镜像,cd到Dockerfile目录下 docker build -t 取个镜像名称 . 第六步:运行容器 docker run --name 取个容器名称 -d -p 9020:80 上一步取的镜像名称 访问一下9020检查是否运行成功。
使用docker部署influxdb 生成默认config.yml docker run \ --rm influxdb:latest \ influxd print-config > config.yml /code/docker-influx/data:/var/lib/influxdb/data - /rssp/code/docker-influx/meta:/var/lib/indluxdb/meta - /rssp/code/docker-influx/wal:/var/lib/indluxdb/wal - /rssp/code/docker-influx/backup/bin:/home/backup - /rssp/code/docker-influx/backup/data:/tmp/backup/data - /rssp/code/docker-influx/backup/gz:/tmp/backup /gz - /etc/localtime:/etc/localtime:ro ports: - "8086:8086" restart: always docker pull influxdb docker-compose
busybox配置telnetd的问题 进入busybox源码文件夹,选择telnet,telnetd.后确保在ramdisk的sbin文件夹下存在inetd和in.telnetd或telned。 我是直接使用的busybox的telnetd,busybox支持用inetd管理telnetd,有兴趣的朋友能够试 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/119127
③【Docker】Docker部署Nginx docker拉取nginx镜像: docker pull nginx 安装并启动nginx服务: docker run \ --restart always docker操作nginx常用命令: # 注意,Nginx是我安装启动时为这个服务取的名字,若名字不同请使用自己的服务名 #停止: docker stop Nginx #重启: docker restart Nginx #删除服务: docker rm Nginx #删除镜像: docker rmi Nginx #进入服务: docker exec -it Nginx /bin/bash Docker中有几个重要的概念 我们要使用Docker来操作镜像、容器,就必须要安装Docker。 Docker是一个CS架构的程序,由两部分组成: 服务端(server):Docker守护进程,负责处理Docker指令,管理镜像、容器等 客户端(client):通过命令或RestAPI向Docker