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.
Docker in 2021
Some questions for myself.
- What’s the current thing in dockerland?
- the build step and container format? is now split into two different things?
- you dont need to use “docker” to build docker containers?
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
- 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:
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)
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"]