项目作者: maruos

项目描述 :
Container builder for Maru OS.
高级语言: Shell
项目地址: git://github.com/maruos/blueprints.git
创建时间: 2016-07-28T21:56:06Z
项目社区:https://github.com/maruos/blueprints

开源协议:Apache License 2.0

下载


Maru OS Container Blueprints

CI workflow

Container image builder for Maru OS.

Blueprints

Image building logic is separated into standalone plugins called blueprints.

To create your own blueprint, all you need to do is:

  1. Add a directory under blueprint/. Use this directory to store anything you
    need during the build process.

  2. Add a script called plugin.sh to the top-level of your new blueprint
    directory. This will be the entrypoint to your blueprint.

  3. Define the function blueprint_build in plugin.sh that will run your build
    logic.

  4. Define the function blueprint_cleanup in plugin.sh that will clean up any
    intermediate build artifacts.

See blueprint/debian as the canonical example for Debian.

Examples

Build the default container:

  1. $ ./build.sh

Build a minimal Debian arm64 buster container called “buster-container”:

  1. $ ./build.sh -b debian -n buster-container -- -r buster -a arm64 --minimal

Tip: You will need root privileges to mount binfmt_misc for bootstrapping
foreign architecture containers.

Building with Docker

If you have Docker set up on your machine, just substitute ./build.sh with
./build-with-docker.sh to run a build within a Docker container with all the
necessary dependencies pre-installed. All args will be passed to build.sh just
like usual.

Build a Debian arm64 buster container called “buster-container” with Docker
(args will be passed to build.sh):

  1. $ ./build-with-docker.sh -b debian -n buster-container -- -r buster -a arm64 --minimal

To stop the build early you can run:

  1. $ docker stop $CONTAINER_ID

where $CONTAINER_ID is determined from docker ps.

Contributing

See the main Maru OS repository for more
info.

Licensing

Apache 2.0