Title: Intro to Docker Containers
Speakers: Mike Raab
See my live blog table of contents from Oracle Cloud
History of containers
- ex: UNIX containers, Solairs Zones, VMWare
- Docker as a product and company made containerization easy
Use cases
- Ready to run application stacks – setting up a cluster can take a few days even if know what doing. Preparing Docker takes a few minutes once you have it configured.
- New development/microservices
- One time run jobs – the data dies with the container by default so good if don’t need it.
- Front end app servers
- Server density – Portable – can run same container anywhere
Architecture/Nomenclature
- VM has entire OS, app, dependencies, binaries, etc.. Container include the app and dependencies.
- Docker client – CLI for interfacing with Docker
- Dockerfile – text file of docker instructions to assemble image
- Image – hierarchies of files. Input to the docker build command. Collection if files and metadata. Contains layers.
- Container – running instance of an image using the docker run command.
- User doesn’t know whether you are using a container. Pure implementation.
- Registry – image repository. DockerHub is largest repo.
- Docker engine – container execution and admin. Uses Linux Kernel namespaces so have isolated workspaces. Can do Docker for Windows but different image and not popular. 99.9%+ Linux
Commands inside DockerFile
- FROM x – the base/parent image
- COPY x y – copy x to y
- RUN c – run UNIX command c
- ENTRYPOINT [“a”] – run command a at startup
Docker commands
- docker build -t dockerfile . – run in current directory
- docker tag image user/image
- docker push username/image
- docker pull username/image
- doker run – pull the image and run in container
- docker logs
- docker ps – running docker containers
- docker ps – a – all docker containers whether running or not
- docker images – list all images
- docker rm
- docker tag
- docker login – login to registry
- docker push/pull
- docker inspect – config metadata
- docker-compose up -d – run multi container Docker applications
Why docker is hot
- developers love it
- fast to spin up environment
- open source
- code agility, CI/CD pipeline, devops
- portability
- managed kubernetes – running it is hard. use managed/cloud environments – oracle commercial time 🙂
My take
Good intro/review. I’m giving a session right after this one and wanted to get ready. So this was a good session for me. Not brand new content, but still go something out of it.