docker build [--no-cache] -t img_name path/to/Dockerfile # build image based on dockerfile docker images # all images docker ps [-a] # show [all] running containers docker start/attach con_id # restart excited container stop con_id # stop container rm con_id # rm container rmi img_id # rm image docker run -d -p 2222:22 <Image Name> docker run -it # interactive --rm # rm container when exit, use with caution -d # detached -p 8888:80 # port fwd to host -e DISPLAY=$DISPLAY # set environment variable -u docker # username/uid -v <data_location>:~/data # mount data directory --name="rdev" # container name ubuntu # image name /bin/bash # command docker port con_id # show port fwd ssh -p 2222 root@localhost docker cp local_file con_id:path/to/target # copy file to container
- Images - The blueprints of our application which form the basis of containers. In
the demo above, we used the
docker pullcommand to download the busybox image.
- Containers - Created from Docker images and run the actual application. We create a
docker runwhich we did using the busybox image that we downloaded. A list of running containers can be seen using the
- Docker Daemon - The background service running on the host that manages building, running and distributing Docker containers. The daemon is the process that runs in the operating system to which clients talk to.
- Docker Client - The command line tool that allows the user to interact with the daemon. More generally, there can be other forms of clients too - such as Kitematic which provide a GUI to the users.
- Docker Hub - A registry of Docker images. You can think of the registry as a directory of all available Docker images. If required, one can host their own Docker registries and can use them for pulling images.
Refs - Docker Q&A - container from scratch