Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/athena-os/athena-base-docker
Official Athena OS docker base images.
https://github.com/athena-os/athena-base-docker
Last synced: 2 months ago
JSON representation
Official Athena OS docker base images.
- Host: GitHub
- URL: https://github.com/athena-os/athena-base-docker
- Owner: Athena-OS
- License: mit
- Created: 2023-02-17T17:31:30.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-05T10:06:36.000Z (7 months ago)
- Last Synced: 2024-06-05T11:45:14.811Z (7 months ago)
- Language: Shell
- Homepage: https://hub.docker.com/r/athenaos/base
- Size: 139 KB
- Stars: 10
- Watchers: 4
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Athena OS Docker Image
Athena OS provides Docker images in the [official DockerHub library](https://hub.docker.com/u/athenaos) (`docker pull athenaos/base:latest`).
Images in the official library are updated weekly while our own repository is updated daily.
Two versions of the image are provided: `base` (approx. 135MB) and `base-devel` (approx. 240MB), containing the respective meta package / package group. Both are available as tags with `latest` pointing to `base`.
While the images are regularly kept up to date it is strongly recommended running `pacman -Syu` right after starting a container due to the rolling release nature of Athena OS.
## Principles
* Provide the Athena OS experience in a Docker image
* Provide the simplest but complete image to `base` and `base-devel` on a regular basis
* `pacman` needs to work out of the box
* All installed packages have to be kept unmodified## Building your own image
[This repository](https://github.com/Athena-OS/athena-base-docker) contains all scripts and files needed to create a Docker image for Athena OS.
### Dependencies
Install the following packages:
* make
* devtools
* docker
* docker-buildx
* fakechroot
* fakeroot```
sudo pacman -S make devtools docker docker-buildx fakechroot fakeroot
```Make sure your user can directly interact with Docker (i.e. `docker info` works).
### Usage
Run
```
sudo make clean
sudo make athena-base
```
to build the `base` image with the `base` meta package installed. Push the image to Docker Hub by:
```
sudo docker push athenaos/base:latest
```You can also run
```
sudo make clean
sudo make athena-base-devel
```
to build the image `base-devel` which additionally has the `base-devel` group installed. Push the image to Docker Hub by:
```
sudo docker push athenaos/base-devel:latest
```
If requested, the login must be performed by:
```
sudo docker login
```
To create and run a container from the created image:
```
sudo docker run --rm -it --entrypoint bash athenaos/base
```### Weekly builds
Weekly images are build with scheduled [GitHub Actions](https://github.com/Athena-OS/athena-base-docker/blob/main/.github/workflows/docker-publish.yml) using our own runner infrastructure. Initially root filesystem archives are constructed and provided in this repository. The released multi-stage Dockerfile downloads those archives and verifies their integrity before unpacking it into a Docker image layer. Images could be built using [kaniko](https://github.com/GoogleContainerTools/kaniko) to avoid using privileged Docker containers, which also publishes them to our Docker Hub repository.
### Development
Changes in Git feature branches are built and tested using the pipeline as well. Development images are uploaded to our [Docker Hub Registry](https://hub.docker.com/u/athenaos).