Name: strato
Owner: Rancher
Description: Package manager built on container image layers
Created: 2016-11-06 05:57:37.0
Updated: 2018-04-12 01:57:16.0
Pushed: 2018-01-16 06:52:45.0
Size: 42937
Language: Go
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
strato is a package manager and minimal container base image. All packages in strato are created by a simple and containerized build process.
er run -it rancher/strato
strato add jq
alling package https://github.com/rancher/strato-packages/raw/master/0.0.3/amd64/jq.tar.gz:0.0.3
/bin
/bin/jq
/lib
/lib/libjq.la
/lib/libjq.so
/lib/libjq.so.1
/lib/libjq.so.1.0.4
/share
8437 mb
jq --version
.5
The build instructions for packages are described using a Dockerfile. The package will be built by extracting the files in the final layer from the build process.
As an example, the following Dockerfile builds the GNU make package.
ubuntu
apt-get update && apt-get install -y build-essential pkg-config wget
wget -P /usr/src/ ftp://ftp.gnu.org/gnu/make/make-4.2.1.tar.bz2
cd /usr/src/ && tar xf make*
cd /usr/src/make* \
&& ./configure \
--prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--disable-nls \
&& make
e following layer is extracted to generate the resulting package
cd /usr/src/make* \
&& make install
All packages are currently built using Ubuntu 16.04 as the base image, but the goal is to eventually have enough packages for strato to be able to build itself.
The base Dockerfiles are in the packages directory in this repository. To build them, you need dapper
- from https://github.com/rancher/dapper/releases
Run dapper build-bin
to build the binaries in this repo, then build the tarballs using dapper build-packages
The tarballs will be in the dist
dir - and can then be uploaded to somewhere that you can get to them.
The strato base image includes busybox, glibc, and the strato package manager.