Learning Path: DevOps with Docker
Course
Online
Description
-
Type
Course
-
Methodology
Online
-
Start date
Different dates available
Dockerize your applications in no time at allDevOps might feel like it's still an emerging trend, but Docker is definitely here to stay. This rapid Learning Path will show you how to get up to speed with real-world containerization so that you can build and ship like an engineering professional.
Facilities
Location
Start date
Start date
About this course
Build new Docker containers and find and manage existing ones
Use the Docker Index, and create your own private one by using containers
Discover ways to automate Docker, and harness the power of containers!
Build your own Docker powered mini-Heroku Paas with Dokku
Set up Docker on your environment based on your application’s custom requirements
Master Docker patterns and enhancements using the Ambassador and Minimal containers
Reviews
This centre's achievements
All courses are up to date
The average rating is higher than 3.7
More than 50 reviews in the last 12 months
This centre has featured on Emagister for 7 years
Subjects
- Production
- Install
- Project
- Image
- Works
- Server
Course programme
- You want to use Docker but you've never installed it before. We'll get a VM set up with Docker.
- Install Vagrant from the website
- Set up Vagrantfile with "vagrant init 3scale/docker” and then run the "vagrant up” command
- You don't know what a Docker container is, but you know what a virtual machine is. So we'll compare containers with virtual machines.
- See how fast you can "get into" a VM as compared to a container, first with Bash and then with cat /etc/os-release. Then show the different distros.
- VMs run a whole "system" of processes, whereas Docker is made to run just one process (with subprocesses) that you want using ps auxf
- Understand what Docker containers and images are, and see what the other major concepts that are used with Docker are.
- Overview of the concepts of Docker: images, containers, Dockerfiles, and registries.
- Understand the details of the layer file system and the relationships between images and containers
- Run simple foreground commands, such as ls and ping. Attempt an interactive command with apt-get. Also, we introduce the --rm flag.
- Run interactive commands, including 'bash', 'apt-get install', and 'vim'
- Run a detached SSH server daemon. See how to kill a container process with 'docker kill', and see its output with 'docker logs'.
- List the active containers and then all containers. Inspect any container by ID or name.
- Show the logs and learn the shortcut for the last container. Also, there’s a mention of Docker attach command.
- Stop running the container and show the kill option. Remove old containers and mention the commit changes somewhere.
- Interactively install from a container from Ubuntu image
- Inspect the changes that were made to the container file system
- Commit the changes to a new image and test it out
- Make a docker.io account and then login with Docker
- Make sure that it's named properly and then push it into the Docker Index
- See the container in the index. Delete the local image, pull it down from the index, and try it out.
- Search with the help of commands, check the index, and go to Dockerfile project.
- Pull the Redis-server and run it
- Run the Redis client in the container from the Redis image. Try it out and stop the container.
- Create a directory with a file named Dockerfile
- Add minimal Dockerfile contents: FROM, AUTHOR, and RUN
- Use with 'docker build' to create an image from Dockerfile
- Put the configuration files inside the project directory
- Put the ADD directive inside the Dockerfile
- Build the Dockerfile and test it
- Use the CMD directive for the default command and use ENTRYPOINT for a forced, hidden command.
- Change the process environment with the USER, WORKDIR, and ENV directives.
- Set network forwarding with EXPOSE
- Create a Dockerfile from an existing image by using the FROM instruction
- Add directives to customize or override existing containers
- Use ONBUILD instruction for future images based on this previous image
- Make a GitHub repository and upload your project directory
- Create a Trusted Build from the Docker Index and wait for it to build
- See it in the Index and pull to try it out
- Examine ways in which we can use Docker commands to prioritize the CPU for certain container processes
- Use memory allocation tuning to improve the build’s performance
- Run tests to demonstrate that the performance changes have had the desired effect
- Once you start using third-party containers, you may find that the way they’ve set up their containers is more limiting than helpful to you. Luckily, many of the settings that you can specify in Dockerfiles can be overridden with docker run arguments
- How can we access inside of a container via a shell? See how we can do this easily by overriding the entrypoint to use /bin/sh instead.
- We don’t always want to run as the default user; this can be incorrect or even dangerous at times. We show how we can specify the default user that we would like to run.
- The job of a process is to use and manage lots of data; we don’t want it to be part of the container. Instead, we use mounts and volumes.
- Note that by default, these mounts are read-write. We will see how we can make them read-only.
- Introduces and details the concept of volumes, which are basically directories of the host system managed by Docker.
- Take a look at the various ways in which you can publish ports. Then we will also talk about disabling the network altogether for extreme isolation.
- Glance over the docker port command, which takes a container name or ID and then an internal port that has been exposed. Docker will then give us the interface and port that it’s actually listening on as the host
- Learn how to customize the DNS settings used by your container with working examples
- If we want to restrict which containers can connect to us, we can use a Docker feature called Linking.
- See how Linking will take any exposed ports of one container and make them directly accessible to another. It will also populate a number of environment variables for that container to discover how to connect to it.
- Examine the working environment and demonstrate how we can connect to the linked container
- Start with setting up the environment. We will install Redis, Python, and pip, a Python package manager. Remember that we’re installing these on our VM, not in a Docker container.
- We start our app in another terminal session in our VM. We can curl this URL.
- We make changes to our application and illustrate how it works prior to publishing it
- Create and configure our new application environment
- Set up the Dockerfile to expose the required ports
- Learn how our application is now containerized
- Understand the point about Docker that it can run containers consistently across all of these development environments
- We make a simple cloud server our production environment that uses the digital ocean
- Implement the Digital Ocean server set up, and link it to our Redis container.
- Show how to pull the Docker registry container
- Details on how to tag our application and container and push them to the registry
- Understand how to pull our container from other server and demonstrate it by running there
- Learn how to create and tune a deploy-app script
- Discuss the setup process: start a new container and expose the required ports
- We show how we can run the "make" command to create and deploy our application for us
- Take a look at the Docker API and set up the environment
- Demonstrate hitting of the endpoint to retrieve a list of containers
- Set up Python and pip and demonstrate the working of the interactive Python shell
- Expose the Docker Socket to a container
- Use Docker binary and Unix Socket to use the container inside the container
- Introduce logspout and explain how it works
- Demonstrate installing logspout in a container and show it working
- Review the logging options and how we can extend syslog using logspout
- Publish changes to Git
- Automatic deployment of those changes
- Set up an ambassador locally on our Vagrant VM
- See ambassador in action with Redis
- You want to use Docker but you've never installed it before. We'll get a VM set up with Docker.
- Install Vagrant from the website
- Set up Vagrantfile with "vagrant init 3scale/docker” and then run the "vagrant up” command
- You don't know what a Docker container is, but you know what a virtual machine is. So we'll compare containers with virtual machines.
- See how fast you can "get into" a VM as compared to a container, first with Bash and then with cat /etc/os-release. Then show the different distros.
- VMs run a whole "system" of processes, whereas Docker is made to run just one process (with subprocesses) that you want using ps auxf
- Understand what Docker containers and images are, and see what the other major concepts that are used with Docker are.
- Overview of the concepts of Docker: images, containers, Dockerfiles, and registries.
- Understand the details of the layer file system and the relationships between images and containers
- Run simple foreground commands, such as ls and ping. Attempt an interactive command with apt-get. Also, we introduce the --rm flag.
- Run interactive commands, including 'bash', 'apt-get install', and 'vim'
- Run a detached SSH server daemon. See how to kill a container process with 'docker kill', and see its output with 'docker logs'.
- List the active containers and then all containers. Inspect any container by ID or name.
- Show the logs and learn the shortcut for the last container. Also, there’s a mention of Docker attach command.
- Stop running the container and show the kill option. Remove old containers and mention the commit changes somewhere.
- You don't know what a Docker container is, but you know what a virtual machine is. So we'll compare containers with virtual machines.
- See how fast you can "get into" a VM as compared to a container, first with Bash and then with cat /etc/os-release. Then show the...
Additional information
Learning Path: DevOps with Docker
