Learn how to customize a Docker container image and use it to instantiate application instances across different Linux servers. This article describes how to create a Dockerfile, how to allocate runtime resources to containers, and how to establish a communication channel between two containers (for example, between web server and database containers).
The best system administrators I know are downright lazy. I mean “lazy” in a good way, though—they’re experts at finding ways to work smarter, not harder. They’re skilled at discovering new techniques and technologies that help them efficiently manage operations. It’s no surprise that many of them are excited about Docker, an open source virtualization technology that creates lightweight Linux application containers.
Docker is exciting because it can easily capture a full application environment into a virtual container that can be deployed across different Linux servers. System administrators and software developers are learning that Docker can help them deploy application images on Linux quickly, reliably, and consistently—without dependency and portability problems that can inject delays into planned deployment schedules. Docker containers can define an application and its dependencies using a small text file (a Dockerfile) that can be moved to different Linux releases and quickly rebuilt, simplifying application portability. In this way, “Dockerized” applications are easily migrated to different Linux servers where they can execute on bare metal, in a virtual machine, or on Linux instances in the cloud.
Developers love Docker because they can capture the full software environment, including dependencies, and replicate it easily for testing. Administrators love it because it simplifies the task of deploying applications without having to worry about the configuration nuances of the target system. If you’re already an Oracle Linux Premier Support customer, you’ll love the fact that Oracle provides support for Docker application containers on Oracle Linux automatically, at no additional cost.
This article is designed to help you get a taste for how you can use Docker to simplify application provisioning on Linux. It demonstrates how to create a Docker container on Oracle Linux, modify it, and use it to instantiate multiple application instances. It also describes how to allocate system CPU and memory resources to a Docker container, how to set up a database container, and how other containers can connect to that database container. Because the Docker test environment that I created runs on Oracle Linux, this article also shows to use Ksplice to update the kernel without rebooting—while all of the Docker application containers continue to run.
Orignal item by Ginny Henningsen, read the full article on the Oracle community website