Container-Compose brings (limited) Docker Compose support to Apple Container, allowing you to define and orchestrate multi-container applications on Apple platforms using familiar Compose files. This project is not a Docker or Docker Compose wrapper but a tool to bridge Compose workflows with Apple's container management ecosystem.
Note: Container-Compose does not automatically configure DNS for macOS 15 (Sequoia). Use macOS 26 (Tahoe) for an optimal experience.
Features
- Compose file support: Parse and interpret
docker-compose.ymlfiles to configure Apple Containers. - Apple Container orchestration: Launch and manage multiple containerized services using Apple’s native container runtime.
- Environment configuration: Support for environment variable files (
.env) to customize deployments. - Service dependencies: Specify service dependencies and startup order.
- Volume and network mapping: Map data and networking as specified in Compose files to Apple Container equivalents.
- Extensible: Designed for future extension and customization.
Getting Started
Prerequisites
- A Mac running macOS with Apple Container support (macOS Sonoma or later recommended)
- Git
- Xcode command line tools (for building, if building from source)
Installation
You can install Container-Compose via Homebrew (recommended):
brew update brew install container-compose
Or, build it from source:
-
Clone the repository:
git clone https://github.com/Mcrich23/Container-Compose.git cd Container-Compose -
Build the executable:
Note: Ensure you have Swift installed (or the required toolchain).
-
(Optional): Install globally
Usage
After installation, simply run:
You may need to provide a path to your docker-compose.yml and .env file as arguments.
Contributing
Contributions are welcome! Please open issues or submit pull requests to help improve this project.
- Fork the repository.
- Create your feature branch (
git checkout -b feat/YourFeature). - Commit your changes (
git commit -am 'Add new feature'). - Add tests to you changes.
- Push to the branch (
git push origin feature/YourFeature). - Open a pull request.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Support
If you encounter issues or have questions, please open an Issue.
Happy Coding! 🚀