All Projects → praekeltfoundation → alpine-buildpack-deps

praekeltfoundation / alpine-buildpack-deps

Licence: MIT license
An attempt at a "buildpack-deps"-like Docker image with Alpine Linux

Programming Languages

Dockerfile
14818 projects

Projects that are alternatives of or similar to alpine-buildpack-deps

docker flutter
Alpine Linux image for Flutter & Dart with helpful utils and web build support.
Stars: ✭ 33 (+10%)
Mutual labels:  alpine, alpine-linux
alpinist
Automatic Alpine Linux Package (apk) Repository Generation using AWS Lambda, S3 & SSM Parameter Store
Stars: ✭ 45 (+50%)
Mutual labels:  alpine, alpine-linux
alpine-qbittorrent-openvpn
qBittorrent docker container with OpenVPN client running as unprivileged user on alpine linux
Stars: ✭ 230 (+666.67%)
Mutual labels:  alpine, alpine-linux
Pieman
Script for creating custom OS images for single-board computers
Stars: ✭ 149 (+396.67%)
Mutual labels:  alpine, alpine-linux
alpine-php-wordpress
Wordpress running on Alpine Linux [Docker]
Stars: ✭ 30 (+0%)
Mutual labels:  alpine, alpine-linux
Termuxalpine
Use TermuxAlpine.sh calling to install Alpine Linux in Termux on Android. This setup script will attempt to set Alpine Linux up in your Termux environment.
Stars: ✭ 224 (+646.67%)
Mutual labels:  alpine, alpine-linux
docker-alpine-sshd
A lightweight OpenSSH Docker Image built atop Alpine Linux.
Stars: ✭ 108 (+260%)
Mutual labels:  alpine, alpine-linux
Dockerfiles
Discontinued. Fork at your will.
Stars: ✭ 384 (+1180%)
Mutual labels:  alpine, alpine-linux
docker-dind-awscli
A Docker image for Docker-in-Docker (dind) with AWS CLI v2 awscli tool included
Stars: ✭ 36 (+20%)
Mutual labels:  alpine, alpine-linux
headless-chrome-alpine
A Docker container running headless Chrome
Stars: ✭ 26 (-13.33%)
Mutual labels:  alpine, alpine-linux
Docker Oidc Proxy
Docker Image built on Alpine Linux for secure OpenID Connect (OIDC) proxy authentication
Stars: ✭ 91 (+203.33%)
Mutual labels:  alpine, alpine-linux
alpine-prestashop
Prestashop running on Alpine Linux [Docker]
Stars: ✭ 13 (-56.67%)
Mutual labels:  alpine, alpine-linux
Docker Ruby Node
🐳 Alpine Docker Image with latest versions of Ruby, Node.js and yarn installed. This Docker Image is actively maintained and updated regularly.
Stars: ✭ 74 (+146.67%)
Mutual labels:  alpine, alpine-linux
http-server
A Java HTTP server in 35MB Docker image
Stars: ✭ 17 (-43.33%)
Mutual labels:  alpine, alpine-linux
Socat
Run socat command in alpine container
Stars: ✭ 53 (+76.67%)
Mutual labels:  alpine, alpine-linux
docker-node-ci
The Docker image based on the official "node" image optimized for a CI environment
Stars: ✭ 18 (-40%)
Mutual labels:  alpine, alpine-linux
rails5-docker-alpine
Lightweight Docker development environment for Rails using Alpine Linux
Stars: ✭ 71 (+136.67%)
Mutual labels:  alpine, alpine-linux
alpine-vagrant
This builds an up-to-date Vagrant Alpine Linux Base Box
Stars: ✭ 22 (-26.67%)
Mutual labels:  alpine, alpine-linux
pi-factory
Bootstrap a bitcoin lightning box for Raspberry Pi 3 based on Alpine Linux
Stars: ✭ 17 (-43.33%)
Mutual labels:  alpine, alpine-linux
alpine-php-fpm
Lightweight and optimised PHP-FPM (PHP 7.4, 8.0, 8.1) Docker images with essential extensions on top of latest Alpine Linux.
Stars: ✭ 53 (+76.67%)
Mutual labels:  alpine, alpine-linux

alpine-buildpack-deps

Note: this project is no longer maintained.

Docker Pulls Build Status

An attempt at a "buildpack-deps"-like Docker image with Alpine Linux

Images

The base image is the official Docker Alpine image.

This repo contains a set of images similar to the official buildpack-deps images.

Tag Base image Description
curl alpine:3.x Alpine with curl and wget
scm :curl :curl with source control management (SCM) tools
latest :scm :scm with build tools and development libraries

Caveats

  • A best effort was made to find equivalent Alpine packages for the Debian packages in the official buildpack-deps. The packages may not always be 100% equivalent.
  • The code you're compiling in buildpack-deps could make assumptions about the host that are not necessarily true for Alpine Linux. For example:
    • That the standard Unix tools are the GNU implementations
    • That the standard C library is glibc
    • That the paths to development files are the Debian paths
  • The default/latest tag for this image is not significantly smaller than the Debian/Ubuntu-based buildpack-deps images~~, although it is roughly the same size (~190MB compressed, ~660MB uncompressed). The reason for this is that the Alpine development libraries for PostgreSQL and MySQL are significantly bigger than the Debian ones.~~ If you are hoping to make a small "buildpack-deps"-based Docker image, you're probably doing Docker images wrong.

Packages

The packages in the curl and scm variants mostly have the same names in Alpine Linux as they do in the Debian/Ubuntu source. The translation of packages for the latest image is a bit more complicated, though. The packages used are listed below.

curl

Upstream

buildpack-deps alpine-buildpack-deps
ca-certificates ca-certificates
curl curl
dirmngr gnupg
gnupg gnupg
netbase alpine-baselayout*
wget busybox

Additionally, we install the tar package in the curl image. This installs the GNU version of tar, which has more features than the BusyBox tar provided with Alpine Linux. In particular, the --strip-components option only available in GNU tar is commonly used in the Docker official images when extracting source code from tarballs.

*This package is one of the base packages of Alpine Linux. It includes most of the netbase files including /etc/protocols and /etc/services.

scm

Upstream

buildpack-deps alpine-buildpack-deps
git git
mercurial mercurial
openssh-client openssh-client
procps procps
subversion subversion

latest

Upstream

buildpack-deps alpine-buildpack-deps
autoconf autoconf
automake automake
bzip2 bzip2
dpkg-dev dpkg, dpkg-dev
file file
g++ g++
gcc gcc
imagemagick imagemagick-dev
libbz2-dev bzip2-dev
libc6-dev libc-dev, linux-headers
libcurl4-openssl-dev curl-dev
libdb-dev db-dev
libevent-dev libevent-dev
libffi-dev libffi-dev
libgdbm-dev gdbm-dev
libgeoip-dev geoip-dev
libglib2.0-dev glib-dev
libjpeg-dev jpeg-dev
libkrb5-dev krb5-dev
liblzma-dev xz-dev
libmagickcore-dev imagemagick-dev
libmagickwand-dev imagemagick-dev
libmysqlclient-dev mariadb-dev*
libncurses5-dev ncurses-dev
libncursesw5-dev ncurses-dev
libpng-dev libpng-dev
libpq-dev postgresql-dev*
libreadline-dev readline-dev
libsqlite3-dev sqlite-dev
libssl-dev openssl-dev/(libressl-dev)**
libtool libtool
libwebp-dev libwebp-dev
libxml2-dev libxml2-dev
libxslt-dev libxslt-dev
libyaml-dev yaml-dev
make make
patch patch
unzip busybox
xz-utils xz
zlib1g-dev zlib-dev

*Alpine Linux doesn't have development packages for MySQL or PostgreSQL that include only the headers/libraries necessary for client-side libraries. These Alpine packages are quite large because they include server headers/libraries as well. **Alpine Linux between versions 3.5 and 3.8 used LibreSSL. For version 3.9, they switched back to OpenSSL.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].