https://github.com/joonas-fi/dockerfiles
Dockerfiles for many programs/utilities that I run
https://github.com/joonas-fi/dockerfiles
Last synced: about 1 month ago
JSON representation
Dockerfiles for many programs/utilities that I run
- Host: GitHub
- URL: https://github.com/joonas-fi/dockerfiles
- Owner: joonas-fi
- License: apache-2.0
- Created: 2021-04-11T14:46:01.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-04-28T12:40:52.000Z (almost 2 years ago)
- Last Synced: 2025-02-01T19:44:23.789Z (3 months ago)
- Language: Dockerfile
- Homepage:
- Size: 45.9 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Like [jessfraz/dockerfiles](https://github.com/jessfraz/dockerfiles) but for software I use.
These also somewhat complement [my OS installation](https://github.com/joonas-fi/joonas-sys/)
(my "app store") - most of these are aliased from my `~/.bash_aliases`.Rules for these images in a nutshell
------------------------------------- `/` => Docker tag `joonas/`, i.e. image built from [nmap/](nmap/) is tagged
[joonas/nmap](https://hub.docker.com/r/joonas/nmap)
- `FROM alpine:latest`, `RUN apk add --no-cache ` for all programs where possible
- Minimal images, e.g. don't ship build environment
- Unless the program is exotic, the image has entrypoint defined, so invoking
`$ docker run joonas/nmap ` is the same as running `nmap ` inside the container.
* Example of "exotic" is imagemagick because it has multiple entrypoints (convert, animate, display etc.)
- Most of the images' `WORKDIR` has been standardized to `/workspace`. This is so that if the program
reads or writes files, you can map host filesystem's current dir (or something else) to there.
* You can use `alias exiftool="docker run --rm -v \"$(pwd):/workspace\" joonas/exiftool"` and
then run `exiftool image.png` and exiftool will only be able to access your current directory.
* Same goes for imagemagic (convert), so you can use `convert image.png image.jpg` so imagemagic
can read and write files from/to the current directory to do its job.Why?
----There are many images for popular programs like nmap available, but too often when I'm researching
for an image to use, I don't agree with how the images are made. E.g.:- it's not built on top of Alpine or
- they ship their build environment or
- needlessly install from source
* There is nothing wrong with that except the `Dockerfile` is harder to maintain than just
installing from an OS's package manager.
- run as non-root (if possible)If you look at how little complexity the [average Dockerfile](nmap/) has, often it's just faster
maintaining my own Dockerfile for each program than researching a 3rd party one meeting the quality
AND that keeps their images updated.Inspiration
------------ https://github.com/jessfraz/dotfiles/blob/master/.dockerfunc
- https://github.com/jessfraz/dockerfiles