Replies: 4 comments 8 replies
-
|
The initial version of Compose I made relied on calling into the shell environment. I just refactored most of it to actually call into the internal tools, but I cannot figure out the best way to handle multiple containers sending logs at once if someone streams it in. So that is currently using a shell command. Curious if anyone can create a cool solution to this problem! |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for putting this up! Regarding IP consistency, this was put done by design. Each new container gets a new MAC address (assigned by vmnet) and a new IP address (assigned by the network helper, using a LRU policy). This was done because in practice, rapidly reusing IP addresses with different MAC addresses can cause temporary networking problems due to ARP tables being incorrect. I'll add a note to the issue that requests manually assigned IP addresses suggesting that the scope include MAC address assignment as well. I'm still not clear for the need for control over IP assignment in a Compose-like product. Hardcoding IP addresses in any service configuration feels like an anti-pattern. I've only ever written Compose configurations or Kubernetes manifests using service names, precisely because IP addresses are generally not stable over time. |
Beta Was this translation helpful? Give feedback.
-
|
@Mcrich23 Could you rework your PR so that compose gets built and installed as a plugin instead of hardwiring it into the CLI? We want users to be able to opt into features like this, and it's a good test case for the nascent extension facility that's in |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the updates! I haven't tried building and using this but I'll give it a shot later this week. I've indicated in the PR the next steps for modularizing it into a plugin. Basically all that's needed is to take what you added to the Makefile and distribute it across three new targets:
The other thing to start looking at is the ComposeUp.swift file. That's a pretty big hunk of code - do you see any ways that its logic can be extracted into more easily maintainable and testable units? One other question, how did you generate the codable types that map to the Compose format? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello All,
I have been working to bring Docker Compose to Container, aka Container Compose. As I build this, I would like to share my thoughts on pre-requisites to having a fantastic compose experience, and get thoughts from the community on how this should be architected.
Currently, Compose supports most configuration options (and almost all common configuration options). But here is what I believe needs to happen to make compose strong and reliable:
This is all that I can think of right now. I would love to understand everyone else's thoughts and ideas for compose. For more technical details, you can look at my pull request: #239.
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions