Giter VIP home page Giter VIP logo

gentoo-docker-images's Introduction

Gentoo Docker Images

build

A collection of Dockerfiles for generating Gentoo docker images.

These images are intended to be created automatically by a cron job and pushed to docker hub. This repository include basic stage3 images and an image usable as a /var/db/repos/gentoo volume

DockerHub

https://hub.docker.com/u/gentoo/

Inventory

The following targets are built and pushed to Docker Hub:

  • portage
  • stage3
    • amd64
      • stage3-amd64-hardened-nomultilib-openrc
      • stage3-amd64-hardened-openrc
      • stage3-amd64-musl
      • stage3-amd64-musl-hardened
      • stage3-amd64-nomultilib-openrc
      • stage3-amd64-nomultilib-systemd
      • stage3-amd64-openrc
      • stage3-amd64-desktop-openrc
      • stage3-amd64-systemd
      • stage3-amd64-systemd-mergedusr
      • stage3-amd64-desktop-systemd
      • stage3-amd64-desktop-systemd-mergedusr
    • arm
      • stage3-armv5tel-openrc
      • stage3-armv5tel-systemd
      • stage3-armv6j-openrc
      • stage3-armv6j-systemd
      • stage3-armv6j_hardfp-openrc
      • stage3-armv6j_hardfp-systemd
      • stage3-armv7a-openrc
      • stage3-armv7a-systemd
      • stage3-armv7a_hardfp_musl-openrc
      • stage3-armv7a_hardfp-openrc
      • stage3-armv7a_hardfp-systemd
    • arm64
      • stage3-arm64-desktop-openrc
      • stage3-arm64-desktop-systemd
      • stage3-arm64-musl
      • stage3-arm64-musl-hardened
      • stage3-arm64-openrc
      • stage3-arm64-systemd
    • ppc
      • stage3-ppc64le-musl-hardened-openrc
      • stage3-ppc64le-openrc
      • stage3-ppc64le-systemd
    • riscv
      • stage3-rv64_lp64-openrc
      • stage3-rv64_lp64-systemd
      • stage3-rv64_lp64d-openrc
      • stage3-rv64_lp64d-systemd
    • s390
      • stage3-s390x
    • x86
      • stage3-i686-hardened-openrc
      • stage3-i686-musl
      • stage3-i686-openrc
      • stage3-i686-systemd

The following upstream stage3 targets are not built at all:

[deprecated]: Deprecated stage3 target

[selinux]: SELinux doesn't seem to make sense inside containers

[under testing]: Not ready for container. Our arch team is working on testing it

[unsupported]: Unsupported Docker architecture

Building the containers

The containers are created using a multi-stage build, which requires Docker >= 19.03.0. The container being built is defined by the TARGET environment variable:

TARGET=stage3-amd64 ./build.sh

Using the portage container as a data volume

docker create -v /var/db/repos/gentoo --name myportagesnapshot gentoo/portage:latest /bin/true
docker run --interactive --tty --volumes-from myportagesnapshot gentoo/stage3:latest /bin/bash

Using the portage container in a multi-stage build

docker-17.05.0 or later supports multi-stage builds, allowing the portage volume to be used when creating images based on a stage3 image.

Example Dockerfile

# name the portage image
FROM gentoo/portage:latest as portage

# based on stage3 image
FROM gentoo/stage3:latest

# copy the entire portage volume in
COPY --from=portage /var/db/repos/gentoo /var/db/repos/gentoo

# continue with image build ...
RUN emerge -qv www-servers/apache # or whichever packages you need

Contributing

We'd love to hear any ideas. Feel free to contact us via any of the following methods:

Policy

  • Use topic branches (i.e. foo) and fix branches (i.e. fix/foo) when submitting pull requests
  • Make meaningful commits ideally with the following form:
    • Subject line–what this commit does
    • Blank line
    • Body–why this commit is necessary or desired
  • Pull requests should not include merge commits
  • Use amend and rebase to fix commits after a pull request has been submitted

gentoo-docker-images's People

Contributors

chaosengine avatar ultrabug avatar ksmanis avatar mrueg avatar javabrett avatar ajakk avatar thesamesam avatar dastergon avatar td5038 avatar mjeveritt avatar alexfanqi avatar robimarko avatar proneetv avatar paleozogt avatar holmanb avatar linobigatti avatar lucianposton avatar moul avatar arzano avatar steev avatar soullivaneuh avatar vvanholl avatar alsotoes 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.