Code Monkey home page Code Monkey logo

minideb's Introduction

minideb

A small base image designed for use in containers. The image is based on glibc for wide compatibility, and has apt for access to a large number of packages. The image is based on Debian, with some things that aren't required in containers removed:

  • Some packages that aren't often used in containers (hardware related, init systems etc.)
  • Some files that aren't usually required (docs, man pages, locales, caches)

This image aims to strike a good balance between having small images, and having many quality packages available for easy integration.

These images also include an install_packages command that you can use instead of apt. This takes care of some things for you:

  1. Install the named packages, skipping prompts etc.
  2. Clean up the apt metadata afterwards to keep the image small.
  3. Retrying if apt fails. Sometimes a package will fail to download due to a network issue, and this may fix that, which is particularly useful in an automated build pipeline.

e.g.

$ install_packages apache2 memcached

Compatibility

The image points to the Debian archive, so you are free to install packages from there that you need. However because some Essential packages have been removed they may not always install or work correctly.

In those cases you can figure out which package is needed and manually specify to install it along with your desired packages.

Docker

You can use the image directly, e.g.

$ docker run --rm -it bitnami/minideb:latest

There are tags for the different Debian releases.

$ docker run --rm -it bitnami/minideb:jessie

The images are built daily and have the security release enabled, so will contain any security updates released more than 24 hours ago.

You can also use the images as a base for your own Dockerfile:

FROM bitnami/minideb:jessie

Building

You can build an image yourself if you wish:

  • Install debootstrap and debian-archive-keyring.
  • sudo ./buildall

To build an individual image:

  • sudo ./mkimage jessie.tar jessie

To test the resulting image:

  • docker import -t minideb:jessie jessie.tar
  • ./test minideb:jessie

minideb's People

Contributors

james-w avatar prydonius avatar solidnerd avatar

Watchers

Alan Franzoni avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.