Docker is an open-source engine which automates the deployment of applications as highly portable, self-sufficient containers which are independent of hardware, language, framework, packaging system and hosting provider.
See also:
Building docker from scratch
- A Workshop on Linux Containers: Rebuild Docker from Scratch | Hacker News
- Fewbytes/rubber-docker: A workshop on Linux containers: Rebuild Docker from Scratch
- (1) Building a container from scratch in Go - Liz Rice (Microscaling Systems) - YouTube
- (1) Golang UK Conf. 2016 - Liz Rice - What is a container, really? Let’s write one in Go from scratch - YouTube
- (1) Cgroups, namespaces, and beyond: what are containers made from? - YouTube
- Building Containers in Pure Bash and C
- Linux Namespaces – Ed King – Medium
- p8952/bocker: Docker implemented in around 100 lines of bash
- tonybaloney/mocker: A crappy imitation of Docker, written in 100% Python
- Docker Without Docker
Articles
- Dockerfile best-practices for writing production-worthy Docker images.; Jan 2021
- Docker is the dangerous gamble which we will regret | Smash Company
- 12 Fractured Apps — Medium — docker anti-patterns.
- Intro do docker on infoq
- Tutorials on Docker
- Docker cheatsheet
- Why I don’t use Docker much anymore - Abe Voelker
- Docker in Production: An History of Failure – The HFT Guy Nov 2016. Follow up: Docker in Production: An Update – The HFT Guy Feb 2017.
- Docker Considered Harmful Jan 2016.
- Mitigating Docker security issues
- Another reason why your Docker containers may be slow
- The Cost of Containerization for Your Scylla - ScyllaDB
Software related to docker:
-
abiosoft/colima: Container runtimes on macOS (and Linux) with minimal setup
-
Alpine Linux Docker image — A super small Docker image based on Alpine Linux. The image is only 5 MB and has access to a package repository that is much more complete than other BusyBox based images.
It is essentially Docker, but you can boot bare-metal with it. It even uses Docker under the hood. Every boot is a fresh boot. You can read-write during boot, but all changes are made to ram. You mount with fstab things you want persisted, like home. It uses very simply primitives, which makes it easy to use. Squashfs/grub-mkconfig/overlayfs/etc. Docker isn’t exactly a “primitive”, but it is easily reasoned with. reply — creator comment
-
GoogleContainerTools/jib: Build container images for your Java applications. (also see fabric8io/docker-maven-plugin)
-
GoogleContainerTools/distroless: 🥑 Language focused docker images, minus the operating system.
-
coord-e/magicpak: Build minimal docker images without static linking “enables you to build minimal docker images without any bothersome preparation such as static linking.”
# You prepare /bin/your_executable here...
ADD https://github.com/coord-e/magicpak/releases/latest/download/magicpak-x86_64-unknown-linux-musl /usr/bin/magicpak
RUN chmod +x /usr/bin/magicpak
RUN /usr/bin/magicpak -v /bin/your_executable /bundle
FROM scratch
COPY --from=0 /bundle /.
CMD ["/bin/your_executable"]
BuildKit in depth: Docker’s build engine explained | Hacker News
Building container images - using no tools · Ravikanth Chaganti
More Articles
- Learn Docker by Building a Microservice
- September 2016. Moving from Docker to rkt