Analyzing the Application¶
Before containerizing an application, analyze the running environment and dependencies of the application, and get familiar with the application deployment mode. For details, see Table 1.
Category | Sub-category | Description |
---|---|---|
Runtime environment | OS | OS that the application runs on, such as CentOS or Ubuntu. In this example, the application runs on CentOS 7.1. |
Runtime environment | The Java application requires Java Development Kit (JDK), the Go language requires GoLang, the web application requires Tomcat environment, and the corresponding version number needs to be confirmed. In this example, the web application of the Tomcat type is used. This application requires the runtime environment of Tomcat 7.0, and Tomcat requires JDK 1.8. | |
Dependency package | Understand required dependency packages, such as OpenSSL and other system software, and their version numbers. In this example, no dependency package is required. | |
Deployment mode | Peripheral configurations | MongoDB database: In this example, the MongoDB database and Tomcat application are deployed on the same server. Therefore, their configurations can be fixed and there is no need to extract their configurations. |
External services with which the application needs to interconnect, such as databases and file systems. These configurations need to be manually configured each time you deploy an application on a VM. However, through containerized deployment, environment variables can be injected into a container, facilitating deployment. In this example, the application needs to interconnect with the MySQL database. Obtain the database configuration file. The server address, database name, database login username, and database login password are injected through environment variables. url=jdbc:mysql://Server address/Database name #Database connection URL
username=**** #Username for logging in to the database
password=**** #Password for logging in to the database
| ||
Application configurations | Sort out the configuration parameters, such as configurations that need to be modified frequently and those remain unchanged during the running of the application. In this example, no application configurations need to be extracted. Note To avoid frequent image replacement, you are advised to classify configurations of the application.
|