{"action":"created","issue":{"url":"https://api.github.com/repos/faradayio/cage/issues/38","repository_url":"https://api.github.com/repos/faradayio/cage","labels_url":"https://api.github.com/repos/faradayio/cage/issues/38/labels{/name}","comments_url":"https://api.github.com/repos/faradayio/cage/issues/38/comments","events_url":"https://api.github.com/repos/faradayio/cage/issues/38/events","html_url":"https://github.com/faradayio/cage/issues/38","id":184495900,"number":38,"title":"What about Windows?","user":{"login":"emk","id":36963,"avatar_url":"https://avatars.githubusercontent.com/u/36963?v=3","gravatar_id":"","url":"https://api.github.com/users/emk","html_url":"https://github.com/emk","followers_url":"https://api.github.com/users/emk/followers","following_url":"https://api.github.com/users/emk/following{/other_user}","gists_url":"https://api.github.com/users/emk/gists{/gist_id}","starred_url":"https://api.github.com/users/emk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emk/subscriptions","organizations_url":"https://api.github.com/users/emk/orgs","repos_url":"https://api.github.com/users/emk/repos","events_url":"https://api.github.com/users/emk/events{/privacy}","received_events_url":"https://api.github.com/users/emk/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/faradayio/cage/labels/RFC","name":"RFC","color":"5319e7"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":17,"created_at":"2016-10-21T14:15:13Z","updated_at":"2016-10-25T18:13:34Z","closed_at":null,"body":"Windows supports Docker! There are two potential use cases here:\r\n\r\n1. **Linux containers.** You can run Linux containers using Docker for Windows. This has some pretty seriously limitations, mostly related to working with container source code. In particular, two problems come up frequently: (1) `git` for Windows will check out text files using Windows line endings by default, which breaks container builds. (2) Windows can't represent the `+x` bit marking files as executable, which means that scripts built into the container will generally not be runnable.\r\n2. **Windows containers.** Windows now supports [Windows guests](https://www.docker.com/microsoft)! I've never used this but it sounds interesting. But to support this, we'd need contributions from somebody who actually uses Windows containers for real projects, and we'd need to verify that `docker-compose` works for this scenario. If you have experience with this, please feel to chime in!\r\n\r\nIn addition to the limitations mentioned above, `cage` itself has one limitation that affects use case (1) significantly:\r\n\r\n- `cage` uses Rust's `std::path` type represent paths both outside _and inside_ containers. This works fine as long as the host OS and the container OS use similar file naming conventions. But if we want to support Linux containers on a Windows system, then we'll need to figure out how to handle path names for two different OSes in a single Rust application, and convert between them as needed.\r\n\r\nIf there's demand for `cage` on Windows, we'd love to see it happen. But this would almost certainly require contributions from somebody who uses Docker under Windows.\r\n\r\n## Initial Windows port\r\n\r\n- [ ] Figure out https://github.com/emk/compose_yml/issues/1\r\n- [ ] Fix the `starts_with(\"target/test_output/hello-\")` test failure"},"comment":{"url":"https://api.github.com/repos/faradayio/cage/issues/comments/256116156","html_url":"https://github.com/faradayio/cage/issues/38#issuecomment-256116156","issue_url":"https://api.github.com/repos/faradayio/cage/issues/38","id":256116156,"user":{"login":"emk","id":36963,"avatar_url":"https://avatars.githubusercontent.com/u/36963?v=3","gravatar_id":"","url":"https://api.github.com/users/emk","html_url":"https://github.com/emk","followers_url":"https://api.github.com/users/emk/followers","following_url":"https://api.github.com/users/emk/following{/other_user}","gists_url":"https://api.github.com/users/emk/gists{/gist_id}","starred_url":"https://api.github.com/users/emk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emk/subscriptions","organizations_url":"https://api.github.com/users/emk/orgs","repos_url":"https://api.github.com/users/emk/repos","events_url":"https://api.github.com/users/emk/events{/privacy}","received_events_url":"https://api.github.com/users/emk/received_events","type":"User","site_admin":false},"created_at":"2016-10-25T18:13:34Z","updated_at":"2016-10-25T18:13:34Z","body":"I'm going to give you a way to build cage without OpenSSL. That means no\nvault integration on Windows, but that's a pretty specialized feature\nanyway.\n"}}
{"actor":{"display_login":"emk"}}