m Docker containers

Key Points

  1. Docker is the most common container solution
  2. Docker has open-sourced basic Docker container and Docker-Compose to run multiple Docker containers 
  3. Docker Enterprise provides more management features at a price and competes against Kubernetes and other orchestration frameworks
  4. Linux Foundation has Kubernetes, a platform-independent orchestration manager, to manage and run containers on any platform using an open source container based on Docker 
  5. the right build pipelines can build container images for multiple platforms


References

Critical decisions for Docker

Reference_description_with_linked_URLs_________________________Notes_______________________________________________________________


https://www.slideshare.net/Docker/introduction-to-docker-2017Docker Intro 2017
m Fabric AdminFabric Admin has docker compose management commands to manage, debug containers **
Building Docker containers **


file:///C:/Users/Jim%20Mason/Google%20Drive/_docs/howto/software/
vcontainers/docker/Docker%20Tutorial%20Get%20Going%20From%20Scratch-2017.pdf
Docker Tutorial from Scratch - 2019
file:///C:/Users/Jim%20Mason/Google%20Drive/_docs/howto/software/
vcontainers/docker/docker-container-cookbook-2019-w_java61.pdf
Docker cookbook - 2019
file:///C:/Users/Jim%20Mason/Google%20Drive/_docs/howto/software/
vcontainers/docker/Docker%20run%20reference.pdf
Docker Run Reference - 2019
file:///C:/Users/Jim%20Mason/Google%20Drive/_docs/howto/software/vcontainers/
docker/docker9%20Critical%20Decisions%20for%20Running%20Docker%20in%20
Production%20-%20DZone%20Cloud.pdf
Critical decisions for Docker article


https://www.docker.com/get-startedDocker getting started for developers
https://docs.docker.com/Docker docs
https://docs.docker.com/install/Docker CE for install
https://docs.docker.com/install/linux/docker-ce/ubuntu/Docker CE for Ubuntu install


Books
docker-jenkins-Continuous Delivery with Docker and Jenkins-tutorial.pdfDocker and Jenkins - CI / CD for Docker - admin tutorials
Docker Tutorial Get Going From Scratch-2017.pdfDocker Tutorial - just the basics getting started examples


Related software
Linux Foundationthis page contains many resources on Kubernetes to manage Docker containers




Java Spring Boot apps in Docker
https://spring.io/guides/gs/spring-boot-docker/#initialSpring Boot App running in Docker
https://www.callicoder.com/spring-boot-docker-example/Dockerize Java Spring Boot App - #recommended - ***
https://stackify.com/guide-docker-java/Docker Guide for Java apps
http://containertutorials.com/docker-compose/spring-boot-app.htmlDocker Compose for Spring Boot apps
Create, run Docker image for Spring Boot App -youtubeCreate, run Docker image for Spring Boot app
https://codefresh.io/docker-tutorial/java_docker_pipeline/Docker build workflow for Java apps
https://runnable.com/docker/java/dockerize-your-java-applicationDockerize a Java app
https://www.youtube.com/watch?v=b1ci-3JOCZoHow to deploy Java apps using Docker - video


Articles and references


https://searchcloudcomputing.techtarget.com/tip/Five-alternatives-to-Docker-you-should-consider5 Docker alternatives
https://blog.container-solutions.com/building-multiplatform-container-imagesbuilding docker container images for multiple platforms







Key Concepts



What can run in a Docker container?

anything the OS and the container support

applications, services, utilities, libraries, other binaries, database servers, etc


Docker create process

create container folder

add app files

add container configuration

create image file

sign image file

push to repo

update the Docker registry


Docker deploy process

install Docker runtime on the OS

lookup the container in the Docker registry

pull Docker image from OS

if needed, manage the environment config




Docker advantages

  1. containers adapt to host environments, apps don't have to
  2. apps see environment abstracted as a common model regardless of deployment
  3. containers can add a layer of security
  4. can be used to transform monolith to microservices with minimal environment changes
  5. works well in devops pipelines lowering maintenance costs for faster CICD
  6. makes apps easy to distribute and configure for different environments


Docker components

  • Docker images
    • the files that make up a container
  • Docker containers
    • contain 1 or more applications or services in the Docker container environment
  • Docker engines runs containers. Networking and volume resources are managed by engines
    • executes the runtime enviornment for the contained applications
  • Docker registry stores, distributes and manages Docker images
  • Docker control plane for container, cluster orchestration


Docker engine features

security

network support

volumes

runtime

distributed state

orchestration


Docker EE adds:

security

orchestration

management

support

plugins




Potential Value Opportunities



Potential Challenges


Questions

  1. Can a Docker engine run a different OS than the host OS?





Candidate Solutions



Step-by-step guide for Example



sample code block

sample code block
 



Recommended Next Steps