March 26, 2017

Docker Toolbox

Docker Toolbox

  • enables Docker to run on older Mac or Windows operating systems
  • Available for both macOS and Windows, however functionality of Docker Toolbox has been superseded by Docker for Mac and Docker for Windows on newer platforms

  • toolbox01.png
  • Consists of a set of apps and a virtualization platform
    • Docker Engine - consisting of Docker daemon, client, API
    • Docker Machine - enables Docker to be used on non-Linux machines such as Windows and macOS
    • Docker Compose - manage multi-container application; manage multiple containers as one
    • Docker Kitematic - Docker GUI
    • shell  - preconfigured for a Docker command-line environment
    • VirtualBox - lightweight virtualization solution

  • References:

Docker Client

Docker client

  • One client can communicate with multiple local or remote daemons
  • Other tools include: docker, docker-machine, docker-compose

Docker Daemon

Docker daemon

  • creates and manages Docker objects, such as images, containers, networks, and data volumes
  • subset of the Docker Engine
  • background service running on the host that manages building, running and distributing containers
  • The Docker client and daemon communicate using a REST API, over UNIX sockets or a network interface

Docker Engine

Docker Engine

  • is a client-server application with these major components:
    • A server called a Docker daemon
    • A REST API which specifies interfaces for programs to talk to the daemon
    • A command line interface (CLI) client interacts with the Docker daemon through scripting or CLI commands.
  • conceptually similar to a hypervisor in that it creates a virtualized environment and facilitates access to system resources
  • docker Engine is supported on Linux, Cloud, Windows, and macOS

Docker Host

Docker Host

A Docker Host is the server running Docker engine and able to host containers. A Docker Host is a Linux server with Docker installed or a newer model MacOS or Windows server with Docker for Mac or Windows installed. The docker-machine command can be used to create and manage Docker Hosts on older Mac or Windows servers or to create additional Docker Hosts on Linux servers.
  • Docker Host runs Docker Engine, which consists of a Docker daemon, a REST API and a set of client CLI tools
  • Docker Engine runs natively on Linux systems and can provision multiple Docker hosts locally, on a network, or in the cloud.
  • You can use the docker-machine command line tool to manage (create, start, inspect, stop, restart) a Docker host, locally, remotely over the network or in the cloud
  • Examples of a Docker Host operating systems:
    • Linux system with Docker installed and running
    • Supported Mac/Windows OS with Docker for Mac or Docker for Windows installed and running
    • Older Mac/Windows OS with Docker Toolbox installed and running

  • Reference: