The main pieces of the Docker toolset (frequently referred to as the runtime) include:
Client (docker): The Docker Client is used to manage containers, images, networks, volumes and other resources. Command line based, docker connects to the server component and issues commands to a RESTful API that the server exposes. When installed locally, the client communicates with the server via a system pipe.
Engine/Server (containerd): The Docker Server (which is usually deployed as system daemon called containerd) that performs the administrative work of creating or modifying containers, transferring images, creating overlay networks, configuring volumes, and administering other resources. Extensible, the engine can leverage add ons for more complex storage (perhaps using special network mounted volumes, such as those provided by GlusterFS or Ceph) or operating as part of larger cluster (referred to as Swarm mode).
Registry or Hub: A public registry of container images that can be accessed via the Docker client. Docker Hub and its many thousands of utilities, base images, and configured applications are one of the primary reasons why Docker has reached the level of popularity that it has.
Docker is a little different in structure from some other client/server software. Instead of having a separate client and server executable, it uses the same monolithic binary for both components. When deployed each machine running Docker (the Docker host) will typically only have one Docker daemon running that can manage a number of containers. You then use the docker command line tool to talk to the running server.
The docker CLI is the main interface that most users will have with Docker. It is used for:
• Building container images
• Pulling images from a registry to a Docker daemon or pushing them to the registry from a local host
• Starting containers in the foreground or background
• Attaching to existing containers in order to run a shell
• Creating and managing Docker networks and how containers interact with those networks
• Creating and managing volumes (persistent storage) and how containers interact with those volumes
Managing the Docker Service
Within the lab environment, Docker will be installed as a system service using yum. It is integrated with systemd and can be started and stopped using the Linux systemctl command:
• systemctl start docker: Start Docker process
• systemctl restart docker: Restart the Docker process
• systemctl status docker: Retrieve the current status, along with most recent log entries
• systemctl restart docker: Stop the process and then re-start
The main options and configuration for the daemon can be found in /etc/docker/daemon.jon. If you wish, you can also start Docker directly by running docker with the -d flag. This can be useful for troubleshooting issues with the service.
Start Your Transformation with DVO Consulting! Implement Docker Today
Contact us to learn more about how DVO Consulting can help you with your business processes and how Docker in an organization can help. Our team of engineers will discuss your unique needs and how we can help run your operations and consolidate workloads with Docker.
Founded and headquartered in Bountiful, UT to service the ever growing silicon slopes market and the west coast. We also have offices in Great Falls, VA which supports clients in Maryland, Virginia and Washington DC. Contact our team today at (801) 425-9845 or [email protected].