All Projects β†’ wmark β†’ Apt Image

wmark / Apt Image

Licence: upl-1.0
πŸ“¦ minimal Ubuntu for containers, with curl and support for TLSv1.3

Projects that are alternatives of or similar to Apt Image

App Outlet
A Universal linux app store
Stars: ✭ 131 (-10.88%)
Mutual labels:  ubuntu, debian
Dockerfiles
Phalcon Dockerfiles used for internal purposes.
Stars: ✭ 145 (-1.36%)
Mutual labels:  ubuntu, debian
Mattermost Ansible
Ansible playbook to provide a turnkey solution for the Team Edition of Mattermost
Stars: ✭ 126 (-14.29%)
Mutual labels:  ubuntu, debian
Pihole Panel
Python/GTK3 based Pi-hole (network-level adblocker) dashboard for stats and more
Stars: ✭ 125 (-14.97%)
Mutual labels:  ubuntu, debian
Piadvanced
This started as a custom install for my pihole!
Stars: ✭ 144 (-2.04%)
Mutual labels:  ubuntu, debian
Oracle Java
Ansible role to install Oracle Java 8/11 on Debian and RedHat based distributions.
Stars: ✭ 144 (-2.04%)
Mutual labels:  ubuntu, debian
Build
Armbian Linux build framework
Stars: ✭ 1,827 (+1142.86%)
Mutual labels:  ubuntu, debian
Mindforger
Thinking notebook and Markdown editor.
Stars: ✭ 1,695 (+1053.06%)
Mutual labels:  ubuntu, debian
Plexguide.com
Welcome to https://PlexGuide.com ~ Rapidly deploy multiple-hasty Docker Containers through Ansible with local or Unlimited Google HD Space!
Stars: ✭ 1,631 (+1009.52%)
Mutual labels:  ubuntu, debian
Anlinux Adfree
AnLinux, Ad free version.
Stars: ✭ 127 (-13.61%)
Mutual labels:  ubuntu, debian
88x2bu
Linux Driver for USB WiFi Adapters that are based on the RTL8812BU and RTL8822BU Chipsets
Stars: ✭ 122 (-17.01%)
Mutual labels:  ubuntu, debian
Rofi
A large collection of Rofi based custom Menu, Applets, Launchers & Powermenus.
Stars: ✭ 2,907 (+1877.55%)
Mutual labels:  ubuntu, debian
Wslu
A collection of utilities for Windows 10 Linux Subsystems
Stars: ✭ 2,020 (+1274.15%)
Mutual labels:  ubuntu, debian
Nginx Ee
Automated Nginx compilation from sources with additional modules support. Compatible with WordOps, EasyEngine & Plesk
Stars: ✭ 132 (-10.2%)
Mutual labels:  ubuntu, debian
Serverfarmer
Manage multiple servers with different operating systems, configurations, requirements etc. for many separate customers in an outsourcing model.
Stars: ✭ 122 (-17.01%)
Mutual labels:  ubuntu, debian
Epsxe64ubuntu
Install ePSXe Linux (x64) & shaders using BIOS HLE and Core Plugins on x86-64 Debian, Ubuntu, Linux Mint and their derivatives.
Stars: ✭ 130 (-11.56%)
Mutual labels:  ubuntu, debian
Ssh Login Alert Telegram
Recieive telegram notfications when user connect to a server
Stars: ✭ 117 (-20.41%)
Mutual labels:  ubuntu, debian
Democratic Csi
csi storage for container orchestration systems
Stars: ✭ 120 (-18.37%)
Mutual labels:  ubuntu, debian
Pimp My Box
🌱 Automated seedbox install of rTorrent-PS and PyroScope CLI etc. via Ansible.
Stars: ✭ 127 (-13.61%)
Mutual labels:  ubuntu, debian
Autosetup
Auto setup is a bash script compatible with Debian based distributions to install and setup necessary programs.
Stars: ✭ 140 (-4.76%)
Mutual labels:  ubuntu, debian

Minimal Ubuntu images for Docker

Ever wondered why Ubuntu for Docker comes with systemd and tools for filesystem management? Yeah, me too. These are container images without that fuzz.

size comparison: Ubuntu for Docker 80 MiB, Ubuntu newgen 60 MiB, yet this one is 40 MiB

Features

Usage

This is meant as drop-in replacement for FROM ubuntu and FROM ubuntu-debootstrap.

You can use curl right away or start with apt-get -q update as usual. HTTPS support is already included in apt!

Find examples here:

Recommendations

Use lightweight chpst (31 kB) instead of gosu (2635 kB):

- gosu myuser syncthing "[email protected]"
+ chpst -u myuser -- syncthing "[email protected]"
- gosu nobody:root bash -c 'whoami && id'
+ chpst -u nobody:root -- bash -c 'whoami && id'

To account for differences between gpg v1 and gpg v2 I've created a script for fetching keys from keyservers:

/usr/bin/get-gpg-key 0xcbcb082a1bb943db 0xa6a19b38d3d831ef \
| apt-key add

Regenerate the Images

  1. Use the packages sources from /etc/apt/sources.list.
  2. Install the packages listed in build.manifest using apt.
  3. Remove any excess that cannot be used from within an container.

I have published a script which automates that. You can find it on Github, as answer to question/issue 2.

Hints

Leveraging git's "textconv" you can track changes to the archive files. This merely changes how diffs are displayed. Run:

git config --global diff.tar.textconv "tar -tavf"
git config --global diff.tar.cachetextconv true

git config --global diff.debian-tarball.textconv "tar --to-stdout -x ./var/lib/dpkg/available -f"
git config --global diff.debian-tarball.cachetextconv true

You can use screen and tmux, for example for long-running processes on Container Linux distributions. Run something that does not return first. Then, utilize script with docker exec -ti:

# on the host:
docker run -d --name "myenv" blitznote/apt-image:16.04 /bin/bash

# Now use this "permanent environment" like this:
docker exec -ti myenv script -q -c "/bin/bash" /dev/null

# Voila! screen/tmux will work as usual, including redraws on resized terminals.
screen -m -- rtorrent
screen -wipe
screen -r
…

Caveats

  • Images for architecture amd64/x86_64 require instruction set SSE 4, which has been introduced in 2007.
    If you don't have a reasonably recent CPU you will eventually run into the illegal instruction error. Another symptom of missing instruction sets is message Sub-process… exited unexpectedly with its accompanying logline trap invalid opcode (run dmesg or check your syslog daemon for details).
  • CPUs preceding AMD family 15h and Intel's Ivy Bridge will not work.
    Intel Edison as well as KNL is supported.
  • You need Linux 4.13.0 or later, with Seccomp for sandboxing of processes.
    zgrep SECCOMP /proc/config.gz
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].