@@ -1,26 +1,25 @@
|
|||||||
# boco
|
# boco
|
||||||
|
|
||||||
Turning containers into bootable VMs
|
Turn container images into bootable VMs
|
||||||
|
|
||||||
## Example
|
## Example
|
||||||
|
|
||||||
|
```Dockerfile
|
||||||
|
FROM alpine:latest
|
||||||
|
CMD ["/bin/sh"]
|
||||||
|
```
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# Build the container
|
# Build the container
|
||||||
podman build ./example/alpine -t boco-alpine
|
podman build ./example/alpine -t boco-alpine
|
||||||
|
|
||||||
# Make the container bootable. boco injects /boco/init and /boco/exec,
|
# Make the container bootable. boco injects a custom init program,
|
||||||
# then packs the rootfs as a qcow2 disk.
|
# then packs the rootfs as a qcow2 disk.
|
||||||
boco build qcow2 boco-alpine
|
boco build qcow2 boco-alpine
|
||||||
|
|
||||||
# Boot the image using QEMU. The container's CMD runs automatically.
|
# Boot the image using QEMU, and drop into /bin/sh.
|
||||||
boco boot boco-alpine
|
boco boot boco-alpine
|
||||||
|
|
||||||
# Override the command at runtime (base64-encoded on the kernel cmdline):
|
|
||||||
boco boot boco-alpine --cmd '/bin/sh'
|
|
||||||
|
|
||||||
# Override the command at build time (baked into /boco/exec):
|
|
||||||
boco build qcow2 boco-alpine --cmd '/bin/sh'
|
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
boco image rm boco-alpine
|
boco image rm boco-alpine
|
||||||
podman image rm boco-alpine
|
podman image rm boco-alpine
|
||||||
|
|||||||
Reference in New Issue
Block a user