现在的位置: 首页 > 综合 > 正文

使用busybox开发一个baseimage

2019年05月26日 ⁄ 综合 ⁄ 共 992字 ⁄ 字号 评论关闭
#!/usr/bin/env bash
  # Generate a very minimal filesystem based on busybox-static,
  # and load it into the local docker under the name "busybox".
   
  echo >&2
  echo >&2
'warning: this script is deprecated - see mkimage.sh and mkimage/busybox-static'
  echo >&2
   
  BUSYBOX=$(which busybox)
  [
"$BUSYBOX"
]
||
{
  echo
"Sorry, I could not locate busybox."
  echo
"Try 'apt-get install busybox-static'?"
  exit 1
  }
   
  set -e
  ROOTFS=${TMPDIR:-/var/tmp}/rootfs-busybox-$$-$RANDOM
  mkdir $ROOTFS
  cd
$ROOTFS
   
  mkdir bin etc dev dev/pts lib proc sys tmp
  touch etc/resolv.conf
  cp /etc/nsswitch.conf etc/nsswitch.conf
  echo root:x:0:0:root:/:/bin/sh > etc/passwd
  echo root:x:0: > etc/group
  ln -s lib lib64
  ln -s bin sbin
  cp $BUSYBOX bin
  for X in
$(
busybox --list)
  do
  ln -s busybox bin/$X
  done
  rm bin/init
  ln bin/busybox bin/init
  cp /lib/x86_64-linux-gnu/lib{pthread,c,dl,nsl,nss_*}.so.* lib
  cp /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 lib
  for X in console null ptmx random stdin stdout stderr tty urandom zero
  do
  cp -a /dev/$X dev
  done
   
  tar --numeric-owner -cf- . | docker import - busybox
  docker run -i -u root busybox /bin/echo Success.

抱歉!评论已关闭.