Docker
Includes excerpts from my Docker talk on RubyZG, given on Oct 30th 2018.
Last updated
Was this helpful?
Includes excerpts from my Docker talk on RubyZG, given on Oct 30th 2018.
Last updated
Was this helpful?
Docker is a container-based virtualization engine. This means that, instead of spinning up a full blown virtual machine with its own layer of emulation, you host a container which shares the kernel and the resources with your host OS's one, while not having direct access to the host device.
Containers are running instances of Docker images that we build ourselves or pull from the internet (Registry). We use containers because we want our apps to be isolated and easily distributed. The isolation level is determined by our configuration - we can open up ports or share files or entire directories. The distribution is handled by a registry. Images can be based on other images - and those images are either pre-packaged apps or images of various operating systems.
Basically, you can think of an image as a binary file on your computer, and a container as a running process. While you can make all sorts of changes to your system, and perhaps the program state itself, once you've closed the program you lose that state as long as you did not explicitly save it.
Set up Docker:
This is for Debian based systems. If you are running another system, check out .
TODO: write cheat sheet
TODO: write about layering
TODO: write about good Compose files
Download the .
Congratulations, you're done! You will need a Docker ID (username and password) to pull images from the Docker Hub, so you can .