Skip to content

BradleyMatera/docker_multilang_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Docker Multi-Language Project 🌍

Docker
Made with Java Made with Python Made with Go Made with Node.js Made with Ruby Made with PHP Made with C

Multi-language containerized Hello World project using Docker Compose.
Each service runs in its own container, showcasing how different programming languages can be orchestrated together.


📂 Project Structure

docker_multilang_project/
├── java/                   # Java service
│   └── Hello.java
├── c/                      # C service
│   ├── hello.c
│   └── hello               # Compiled binary
├── golang/                 # Go service
│   └── hello.go
├── node/                   # Node.js service
│   └── hello.js
├── php/                    # PHP service
│   └── hello.php
├── python/                 # Python service
│   └── hello.py
├── ruby/                   # Ruby service
│   └── hello.rb
├── docker-compose.yml       # Docker Compose configuration
└── README.md               # Documentation

⚙️ Getting Started

✅ Prerequisites

📥 Installation

# Clone repository
git clone https://github.com/BradleyMatera/docker_multilang_project.git
cd docker_multilang_project

# Start all containers
docker-compose up

🛑 Stop Containers

docker-compose down

💻 Included Services

Language Directory Command Container Name
🐘 PHP php/ php hello.php php_container
💎 Ruby ruby/ ruby hello.rb && tail -f /dev/null ruby_container
🐍 Python python/ python hello.py python_container
🟢 Node.js node/ node hello.js nodejs_container
⚙️ C c/ gcc -o hello hello.c && ./hello c_container
☕ Java java/ java Hello.java java_container
🐹 Go golang/ go run hello.go golang_container

🛠️ Managing Containers

▶ Start Services
docker-compose up
⏹ Stop Services
docker-compose down

📝 Adding a New Language

  1. Create a directory for the new language (e.g., perl/).
  2. Add your script (e.g., hello.pl).
  3. Update docker-compose.yml with a new service entry.
  4. Restart containers:
    docker-compose up

🌐 Networks

  • Uses a custom bridge network (asl_network)
  • Enables communication between containers when required.

🎯 Advanced Setup

  • Volumes map local files into containers.
  • Working Directories ensure commands run in correct paths.
  • Commands define the execution behavior of each container.

🤝 Contributions

Contributions are welcome!
Fork the repo → Create a branch → Submit a PR.


📄 License

MIT License


📹 Showcase Presentation

YouTube Overview
(click to watch the demo video)


Profile views

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published