Building a Simple Cloud-Native App with Docker
In this demo, we'll create a basic cloud-native application using Docker. This app will run in a container, and we’ll explore how Docker enables cloud-native principles such as portability and isolation.
Step 1: Create a Simple Node.js Microservice
- First, create a
server.js
file:
const express = require('express'); const app = express(); const port = process.env.PORT || 3000; app.get('/', (req, res) => { res.send('Hello from Docker Cloud-Native App!'); }); app.listen(port, () => { console.log(`Server running on port ${port}`); });
- Install dependencies:
npm init -y npm install express
Step 2: Dockerize the Application
- Create a Dockerfile to define the container:
# Use official Node.js image from Docker Hub FROM node:20 # Set working directory inside the container WORKDIR /app # Copy package.json and install dependencies COPY package*.json ./ RUN npm install # Copy the rest of the app's source code COPY . . # Expose the port the app will run on EXPOSE 3000 # Command to run the app CMD ["node", "server.js"]
Step 3: Build and Run the Docker Container
- Build the Docker image:
docker build -t cloud-native-app .
- Run the container:
docker run -p 3000:3000 cloud-native-app
Step 4: Access the Application
- Open your browser and visit
http://localhost:3000
. You should see:
Hello from Docker Cloud-Native App!
Conclusion
You've successfully built and run a simple cloud-native application using Docker. This app is now isolated in a container, and you can easily move or scale it across different environments without worrying about dependencies.
Top comments (0)