- Docker and Kubernetes for Java Developers
- Jaroslaw Krochmalski
- 330字
- 2021-07-02 18:44:48
The idea behind Docker
The idea behind Docker is to pack an application with all the dependencies it needs into a single, standardized unit for the deployment. Those dependencies can be binaries, libraries, JAR files, configuration files, scripts, and so on. Docker wraps up all of it into a complete filesystem that contains everything your Java application needs to run the virtual machine itself, the application server such as Wildfly or Tomcat, the application code, and runtime libraries, and basically everything you would install and deploy on the server to make your application run. Packaging all of this into a complete image guarantees that it is portable; it will always run in the same way, no matter what environment it is deployed in. With Docker, you can run Java applications without having to install a Java runtime on the host machine. All the problems related to incompatible JDK or JRE, wrong version of the application server, and so on are gone. Upgrades are also easy and effortless; you just run the new version of your container on the host.
If you need to do some cleanup, you can just destroy the Docker image and it's as though nothing ever happened. Think about Docker, not as a programming language or a framework, but rather as a tool that helps in solving the common problems such as installing, distributing, and managing the software. It allows developers and DevOps to build, ship, and run their code anywhere. Anywhere means also on more than one machine, and this is where Kubernetes comes in handy; we will shortly get back to it.
Having all of your application code and runtime dependencies packaged as a single and complete unit of software may seem the same as a virtualization engine, but it's far from that, as we will explain now. To fully get to know what Docker really is, first we need to understand the difference between traditional virtualization and containerization. Let's compare those two technologies now.
- 軟件項(xiàng)目管理(第2版)
- Computer Vision for the Web
- 微服務(wù)與事件驅(qū)動架構(gòu)
- Microsoft Dynamics 365 Extensions Cookbook
- SQL Server 2016數(shù)據(jù)庫應(yīng)用與開發(fā)習(xí)題解答與上機(jī)指導(dǎo)
- SQL基礎(chǔ)教程(第2版)
- 基于ARM Cortex-M4F內(nèi)核的MSP432 MCU開發(fā)實(shí)踐
- Deep Learning with R Cookbook
- Vue.js 3應(yīng)用開發(fā)與核心源碼解析
- Mastering Gephi Network Visualization
- 物聯(lián)網(wǎng)系統(tǒng)架構(gòu)設(shè)計(jì)與邊緣計(jì)算(原書第2版)
- 大數(shù)據(jù)時(shí)代的企業(yè)升級之道(全3冊)
- 軟件工程與UML案例解析(第三版)
- Drupal 8 Development:Beginner's Guide(Second Edition)
- 數(shù)據(jù)庫技術(shù)及應(yīng)用教程上機(jī)指導(dǎo)與習(xí)題(第2版)