创建busybox docker镜像

1、下载busybox解压

2、make defconfig 配置busybox

3、make 编译busybox

这里有坑:busybox最后链接阶段报无法链接-lcrypt -lm 最后发现是因为没有安装glibc静态库导致

yum install glibc-static 可安装glibc静态库

4、创建rootfs

众所周知rootfs看起来必须有bin,proc,dev,root和boot等目录有两种方法可以创建一个rootfs

创建工作目录:

mkdir -p /root/zxy-docker

此工作目录就是docker镜像的根目录

4.1 方法一手动创建目录

进入工作目录:

cd /root/zxy-docker

在此目录下依次创建如下目录:

mkdir usr
mkdir usr/lib use/local usr/lib64 usr/bin usr/sbin usr/include
Mkdir var/ var/lib var/run var/local var/log
Mkdir tmp
Mkdir boot

4.2 方法二 使用别人创好的目录

进入工作目录:

Cd /root/zxy-docker

利用别人提供的template包,拷贝到工作目录下,解压后生成上述目录

5、安装busybox

在完成编译busybox以后是需要将busybox编译出来的elf文件拷贝到工作目录下,并在

相应的目录下创建软链接,这个动作我们交给busybox包的安装过程来完成。

在busybox的源码目录下:
make CONFIG_PREFIX=/root/docker-zxy install

检查docker-zxy/usr/bin 下有无sh,busybox和常用命令(ls,cd,mkdir等)。

运行一下busybox

/root/docker-zxy/usr/bin/busybox

至此busybox编译全部完成

6、创建docker镜像

6.1 创建dockerfile

在工作目录下创建dockerfile

vim dockerfile

写入下述内容

FROM scratch
MAINTAINER zxy
ADD ./ /
RUN rm /dockerfile

6.2 build dockerfile

docker build /root/docker-zxy -t zxy-docker-image

创建完成以后通过docker image命令可以看到上述创建的docker image

docker images

7 运行docker

docker run --name zxy -d zxy-dockerimage /bin/sh -c "while true; do echo hello world;sleep 1;done"
Docker ps |grep zxy  #可以看到此docker
docker attach zxy #attach到这个docker上查看运行情况

你可能感兴趣的:(创建busybox docker镜像)