Running Octopus Deploy in Docker on a Mac

Since Octopus Deploy has a Docker image, I would love to be able to run this on my Mac by bootstrapping an entire CI/CD pipeline through docker-compose. After 4 days of struggling, I’m still unable to get Windows Server 2016 running as a guest for Docker on my Mac.

I understand that getting Docker on Windows working with Docker on macOS is not an Octopus Deploy problem, but perhaps you’ve attempted this and know how it’s done and would like to share it. If not, this is a good opportunity to ask when Octopus Deploy is going to be ported to .NET Core so it doesn’t require Windows to run anymore. :slight_smile:

Thanks for reaching out! Unfortunately, Mac OS/Linux aren’t able to run Windows Containers natively. One potential work around which comes to mind here could be to run Docker on Windows inside a Virtual Machine.

Please feel free to check out some discussion on the docker forums for more information.

Kind Regards,

Yes, I’ve gone down the Vagrant/VM route, but as I’ve outlined in this issue on Github, it’s not working that well (yet, at least). As I wrote above, I understand that it’s not Octopus Deploy’s job to make a Windows Docker image work on macOS or Linux, but if you do figure out how to do it, I would highly appreciate if you could write it up in the Docker image documentation. :slight_smile:

Hello, Thanks for keeping in touch! Unfortunately I don’t believe there will be a way to run Windows containers in Linux without using a VM for quite a while. However, porting Octopus to dotnet core is on our radar and we are waiting on some dependencies in the platform to be ready. Please feel free to keep track of our progress on our github issue for Porting Octopus Server to.NET Core.

Kind Regards,

Yes, the port to .NET Core will indeed be helpful. My question isn’t how to run Octopus Deploy without a VM, though. It is how to run Octopus Deploy within a Windows 2016 VM via Docker from a non-Windows host. I’ve now gotten Octopus Deploy to boot in a Windows 2016 VM through Docker, but I haven’t managed to access it yet and it’s impossible to run mixed Windows and Linux containers with docker-compose.

Thanks for keeping in touch! I believe the technical challenge in this case is that a Docker host and Docker container need to share a common OS environment. I’ve noticed that I can run Linux containers on Windows and I’ve read that’s because the container is actually running inside a Hyper-V Virtual Machine. Hopefully there will be a solution to run Windows Server 2016 containers in Linux without a VM in the future.

Kind Regards,

1 Like