Docker¶
Oh my! 💀 Docker, Images, Containers¶
Let’s talk these.
When someone talks about Docker, they usually mean containers in general. It is quite likely that they have not used anything else but the docker command or Docker Desktop. That is absolutely OK. Let’s clarify some vocabulary:
Container — that’s the thing runs anything you like, a webserver, a database server, an email server, …
Container Image — this is what you need to create a container. You can’t think of it like a cookiecutter. You can as many cookie as you like, it will always be the same as long as you use the same image
`Dockerfile` — this is what you use to create an image. You do not have to use a `Dockerfile`, there are a few options. Another option is a general containerfile. Systems like podman use a containerfile, it is — usually — compatible with a Dockerfile.
How does this look?
%%{ init: { 'flowchart': { 'curve': 'monotoneX' } } }%%
graph LR
dockerfile[/Dockerfile/]
containerfile[/Containerfile/]
podman_build[podman]
docker_build[docker]
image(Image)
container[/Container/]
subgraph build
direction LR
docker_build
podman_build
end
containerfile-->podman_build
dockerfile-->podman_build
dockerfile-->docker_build
subgraph runtime
container
end
podman_build & docker_build-->image-->container
Prepare your environment¶
Todo
Add a section about installing other tools
Rancher Desktop
Docker¶
Running a container from an existing image
docker run
docker run –volume …
docker run –volume … –port …
docker run –volume … –port … –entrypoint
Building a container from an existing image
docker build …
docker buildx …