Skip to content

Commit 26d4ba2

Browse files
Miscellaneous edits.
1 parent 4451f23 commit 26d4ba2

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

articles/container-apps/java-containers-intro.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ By containerizing your Java applications, you get consistent environments, simpl
3030

3131
Containers package applications with their dependencies, ensuring consistency across environments. For Java developers, this means bundling the application, its dependencies, the Java Runtime Environment/Java Development Kit (JRE/JDK), and the configuration files into a single, portable unit.
3232

33-
Containerization has key advantages over virtualization that makes it ideal for cloud development. In contrast to a virtual machine, a container runs on a server's host OS kernel. This is beneficial for Java applications, which already run in the Java virtual machine (JVM). Containerizing Java applications adds minimal overhead while providing significant deployment benefits.
33+
Containerization has key advantages over virtualization that makes it ideal for cloud development. In contrast to a virtual machine, a container runs on a server's host OS kernel. This is beneficial for Java applications, which already run in the Java virtual machine (JVM). Containerizing Java applications adds minimal overhead and provides significant deployment benefits.
3434

3535
The container ecosystem includes the following key components:
3636

@@ -66,9 +66,9 @@ docker compose version
6666

6767
### Configure Visual Studio Code for container development
6868

69-
For Java development in containers, configure Visual Studio Code by installing the Java Extension Pack and setting up your JDK. The Dev Containers extension enables you to open any folder inside a container and use Visual Studio Code's full feature set while inside that container.
69+
For Java development in containers, configure Visual Studio Code by installing the Java Extension Pack and setting up your JDK. The Dev Containers extension enables you to open any folder inside a container and use Visual Studio Code's full feature set inside that container.
7070

71-
Creating a **.devcontainer/devcontainer.json** file in your project allows Visual Studio Code to automatically build and connect to a development container.
71+
Creating a **.devcontainer/devcontainer.json** file in your project enables Visual Studio Code to automatically build and connect to a development container.
7272

7373
For instance, the following example configuration defines a Java build:
7474

@@ -89,7 +89,7 @@ For instance, the following example configuration defines a Java build:
8989
}
9090
```
9191

92-
This configuration uses Microsoft's Java development container image, adds essential extensions, and forwards both the application port - `8080` - and the debugging port -`5005`.
92+
This configuration uses Microsoft's Java development container image, adds essential extensions, and forwards both the application port, `8080`, and the debugging port, `5005`.
9393

9494
## Create a Dockerfile
9595

@@ -106,7 +106,7 @@ Choosing the right base image is crucial. Consider these options:
106106

107107
| Description | Name | Remarks |
108108
|------------------------------------|---------------------------------------------|---------------------------------------------------------|
109-
| Microsoft Java development Image | `mcr.microsoft.com/java/jdk:21-zulu-ubuntu` | Full Java development kit (JDK) and optimized for Azure |
109+
| Microsoft Java development Image | `mcr.microsoft.com/java/jdk:21-zulu-ubuntu` | Full JDK and optimized for Azure |
110110
| Microsoft Java production Image | `mcr.microsoft.com/java/jre:21-zulu-ubuntu` | Runtime only and optimized for Azure |
111111
| Official OpenJDK development Image | `openjdk:21-jdk` | Full JDK |
112112
| Official OpenJDK production Image | `openjdk:21-jre` | Runtime only |
@@ -150,9 +150,9 @@ ENTRYPOINT ["java", ${JAVA_OPTS}, "-jar", "app.jar"]
150150

151151
## Local development with containers
152152

153-
Containers are meant to execute in various contexts. In this section, you learn a local development flow while using containers.
153+
Containers are meant to execute in various contexts. In this section, you learn a local development flow for use with containers.
154154

155-
### Use Dockers Compose for multi-container applications
155+
### Use Docker Compose for multi-container applications
156156

157157
Most Java applications interact with databases, caches, or other services. Docker Compose helps you define and orchestrate multi-container applications using a simple YAML configuration file.
158158

@@ -210,7 +210,7 @@ This file has the following characteristics:
210210

211211
#### Common Docker Compose commands
212212

213-
Once you create your **compose.yml** file, manage your application with the following commands:
213+
After you create your **compose.yml** file, manage your application by using the following commands:
214214

215215
```bash
216216
# Build images without starting containers
@@ -247,7 +247,7 @@ A typical Java development workflow using Docker Compose contains the following
247247
1. Make changes to your Java code,
248248
1. Rebuild your application. Depending on the configuration, you might need to restart your containers.
249249
1. Test the changes in the containerized environment.
250-
1. When finished, run `docker compose down`.
250+
1. When you're finished, run `docker compose down`.
251251

252252
### Running single containers with Docker
253253

@@ -340,7 +340,7 @@ For Java-specific issues, enable the JVM flags for better diagnostics by using t
340340
ENTRYPOINT ["java", "-XX:+PrintFlagsFinal", "-XX:+PrintGCDetails", "-jar", "app.jar"]
341341
```
342342

343-
Common issues include:
343+
The following table lists common issues and corresponding solutions:
344344

345345
| Error | Possible solution |
346346
|----------------------|-------------------------------------------------------------------------|
@@ -405,7 +405,7 @@ Secure your containerized Java applications by using the following practices:
405405
```
406406

407407
- Base image freshness. Keep your base images up to date.
408-
- Secrets management. Implement proper secrets management. For instance, don't hard code sensitive data into your application, and use a key vault whenever possible.
408+
- Secrets management. Implement proper secrets management. For instance, don't hard-code sensitive data into your application, and use a key vault whenever possible.
409409
- Restricted security contexts. Apply the principle of least privilege to all security contexts.
410410
- File system access. Use read-only file systems wherever possible.
411411

@@ -443,7 +443,7 @@ This section guides you through preparing your Java containers for Azure Contain
443443

444444
- Probe for health. Implement [health probes](health-probes.md) for Azure's liveness and readiness checks.
445445
- Log configuration. Configure [logging](logging.md) to output to `stdout`/`stderr`.
446-
- Plan for the unexpected. Set up proper [graceful shutdown handling](./application-lifecycle-management.md) with time-out configuration.
446+
- Plan for the unexpected. Set up proper graceful shutdown handling with time-out configuration. For more information, see [Application lifecycle management in Azure Container Apps](./application-lifecycle-management.md).
447447

448448
## Related content
449449

0 commit comments

Comments
 (0)