Docker
Full Title or Meme
Docker is a system for building, deploying and running complex images of a program with its runtime.
Context
- This wiki page is focus on the user of Digital Ocean from a Windows workstation targeting the Kantara preferred instance.
- With the rise of cloud computing the need arose to give users an easy way to create a run-time package that could be sent to any cloud Platform as a Service provider (PaaS) with complete interoperability.
Solutions
Docker was released in 2013 and solved many of the problems that developers had running containers end-to-end focused on these low-level features:
- A container image format
- A method for building container images (Dockerfile/docker build)
- A way to manage container images (docker images, docker rm , etc.)
- A way to manage instances of containers (docker ps, docker rm , etc.)
- A way to share container images (docker push/pull)
- A way to run containers (docker run)
Open Container Initiative was created to expand the scope of docker solutions. There are for high-level docker support.
- Open Container Initiative (OCI)
- OCI runtime specification.
- Google code for running containers as a tool and library called runc
When you run a Docker container, these are the steps Docker actually goes through:
- Download the image
- Unpack the image into a "bundle". This flattens the layers into a single filesystem.
- Run the container from the bundle
Step by Step Instructions
- Install the Digital Ocean controller on windows. It is called doctl.exe.
- Build a production version of the code (ie set the configuration to Production.)
- If running Visutal Studio 20xx build a
Deploy App Image to Digital Ocean
- Deploying App to Digital Ocean from Brandon Lehr using HTTPS-PORTAL in docker compose.