mirror of
				https://github.com/linuxkit/linuxkit.git
				synced 2025-10-31 11:00:04 +00:00 
			
		
		
		
	Better split between content and tools. Signed-off-by: Justin Cormack <justin.cormack@docker.com>
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| set -e
 | |
| 
 | |
| # arguments are image name
 | |
| # This script will output a tarball, suitable to be turned into a cpio archive
 | |
| # This is a bit hacky, should be improved later, as it hardcodes config.
 | |
| 
 | |
| IMAGE="$1"; shift
 | |
| 
 | |
| cd /tmp
 | |
| 
 | |
| # extract rootfs
 | |
| EXCLUDE="--exclude .dockerenv --exclude Dockerfile \
 | |
|         --exclude dev/console --exclude dev/pts --exclude dev/shm \
 | |
|         --exclude etc/hostname --exclude etc/hosts --exclude etc/mtab --exclude etc/resolv.conf"
 | |
| 
 | |
| CONTAINER="$(docker create $IMAGE /dev/null)"
 | |
| docker export "$CONTAINER" | tar -xf - $EXCLUDE
 | |
| docker rm "$CONTAINER" > /dev/null
 | |
| 
 | |
| # these three files are bind mounted in by docker so they are not what we want
 | |
| 
 | |
| mkdir -p etc
 | |
| 
 | |
| cat << EOF > etc/hosts
 | |
| 127.0.0.1	localhost
 | |
| ::1	localhost ip6-localhost ip6-loopback
 | |
| fe00::0	ip6-localnet
 | |
| ff00::0	ip6-mcastprefix
 | |
| ff02::1	ip6-allnodes
 | |
| ff02::2	ip6-allrouters
 | |
| EOF
 | |
| 
 | |
| cat << EOF > etc/resolv.conf
 | |
| nameserver 8.8.8.8
 | |
| nameserver 8.8.4.4
 | |
| nameserver 2001:4860:4860::8888
 | |
| nameserver 2001:4860:4860::8844
 | |
| EOF
 | |
| 
 | |
| printf 'moby' > etc/hostname
 | |
| 
 | |
| ln -s /proc/mounts etc/mtab
 | |
| 
 | |
| tar cf - .
 |