1.什么是busybox
BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件。
BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,
还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet。
有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。
简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,
也包含了 Linux 系统的自带的shell。
BusyBox 将许多具有共性的小版本的UNIX工具结合到一个单一的可执行文件。
这样的集合可以替代大部分常用工具比如的GNU fileutils , shellutils等工具,
BusyBox提供了一个比较完善的环境,可以适用于任何小的嵌入式系统
BusyBox 最初是由 Bruce Perens 在 1996 年为Debian GNU/Linux安装盘编写的。
其目标是在一张软盘上创建一个可引导的 GNU/Linux 系统,这可以用作安装盘和急救盘。
2.使用技巧
可以这样用busybox
#busybox ls
他的功能就相当运行ls命令
最常用的用法是建立指向busybox的链接,不同的链接名完成不同的功能.
#ln -s busybox ls
#ln -s busybox rm
#ln -s busybox mkdir
然后分别运行这三个链接:
#./ls
#./rm
#./mkdir
就可以分别完成了ls rm 和mkdir命令的功能.虽然他们都指向同一个可执行程序busybox,
但是只要链接名不同,完成的功能就不同,很多linux网站都提供busybox的源代码下载。
3.拉取busybox工具箱
[root@oracle1 soft]# docker pull busybox:1.28.3
1.28.3: Pulling from library/busybox
f70adabe43c0: Pull complete
Digest: sha256:58ac43b2cc92c687a32c8be6278e50a063579655fe3090125dcb2af0ff9e1a64
Status: Downloaded newer image for busybox:1.28.3
docker.io/library/busybox:1.28.3
--查看拉取的工具箱。
[root@oracle1 soft]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox 1.28.3 8ac48589692a 6 years ago 1.15MB
4.进入容器
docker run -it busybox:1.28.3 /bin/sh
[root@oracle1 soft]# docker run -it busybox:1.28.3 /bin/sh
/ # ls
bin dev etc home proc root sys tmp usr var
/ # ls -lsa
total 16
0 drwxr-xr-x 1 root root 18 Jul 2 04:36 .
0 drwxr-xr-x 1 root root 18 Jul 2 04:36 ..
0 -rwxr-xr-x 1 root root 0 Jul 2 04:36 .dockerenv
16 drwxr-xr-x 2 root root 12288 Apr 3 2018 bin
0 drwxr-xr-x 5 root root 360 Jul 2 04:36 dev
0 drwxr-xr-x 1 root root 66 Jul 2 04:36 etc
0 drwxr-xr-x 2 nobody nogroup 6 Apr 3 2018 home
0 dr-xr-xr-x 258 root root 0 Jul 2 04:36 proc
0 drwx------ 1 root root 26 Jul 2 04:36 root
0 dr-xr-xr-x 13 root root 0 Jul 2 04:36 sys
0 drwxrwxrwt 2 root root 6 Apr 3 2018 tmp
0 drwxr-xr-x 3 root root 18 Apr 3 2018 usr
0 drwxr-xr-x 4 root root 30 Apr 3 2018 var
/ # pwd
/
/ # mkdir data
/ # pwd
/
/ # ls
bin data dev etc home proc root sys tmp usr var
/ # rm -rf data
/ # exit
[root@oracle1 soft]#
5.启动容器
-l:可以列出,查看已停止运行的容器:
[root@oracle1 soft]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@oracle1 soft]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
067f2ce95b20 busybox:1.28.3 "/bin/sh" About a minute ago Exited (0) 46 seconds ago relaxed_hodgkin
Exited:表示前面交互式启动,退出了。
--启动docker;
[root@oracle1 soft]# docker start 067f2ce95b20
067f2ce95b20
[root@oracle1 soft]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
067f2ce95b20 busybox:1.28.3 "/bin/sh" 3 minutes ago Up 3 seconds relaxed_hodgkin