Docker-OSX
colima
Our great sponsors
Docker-OSX | colima | |
---|---|---|
132 | 110 | |
35,279 | 16,793 | |
- | - | |
5.7 | 8.2 | |
20 days ago | 12 days ago | |
Shell | Go | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Docker-OSX
-
GitHub Actions as a time-sharing supercomputer
Running macOS legally requires real mac servers and a bespoke storage solution: https://www.datacenterdynamics.com/en/analysis/not-just-stac...
A self-hosted macOS runner will be more economical in the long-run, if you have a spot you can hook it up at, or if you're fine doing things less than legally, you can use https://github.com/sickcodes/Docker-OSX.
- Docker-OSX · Follow @sickcodes on Twitter
- É caro programar do jeito “honesto”
-
Caso você não queira comprar um Mac mas ainda queira o sistema, agora dá pra rodar MacOS dentro do Docker
Repositório Docker-OSX - Guidelines, troubleshooting, comandos
- Can i run a Hackintosh VM on my homelab and stream it to my pc ?
-
macOS Containers v0.0.1
> What's the licensing situation on this?
1. This project didn't take explicit permission from Apple to redistribute binaries
2. There are multiple jurisdictions where you don't need to explicitly have such permission, it is implied by law
3. Usage of this software implies you already have macOS system. I'm not a lawyer, but it looks to be covered by section 3 of macOS EULA.
4. There are existing precedents of redistribution of macOS binaries for multiple years aready:
- https://github.com/cirruslabs/macos-image-templates/pkgs/con...
- https://hub.docker.com/r/sickcodes/docker-osx
- https://app.vagrantup.com/jhcook/boxes/macos-sierra
And so on.
-
Android Dev account terminated after 12 years for violating “Stalkerware policy”
Google is “friendlier”, because they run some automated scans on the apk and you’re good. Apple has humans run your app to confirm it does what you claim, as well as a battery of automated scans and since they are using the app I’d imagine they look at network traffic as much as possible. I know iOS isn’t shielded from malicious apps, but there’s malware and viruses all over the play store. That’s because it’s free and “friendlier”.
> At Apple things have gotten way worse. Trying to automate release building is practically impossible and will require hours or CI pipeline debugging with error messages that don't mean what they say.
This isn’t Apple’s fault… every build system sucks up a decent amount of time during initial setup. You can cut down massive amounts of time between iterations by adding some common optimizations:
1. Cache artifacts when that step or job succeeds, so if a subsequent step/job fails, you can adjust it and start up where you left off, using the caches artifact to restore the workspace state. This complicates debugging efforts and I personally don’t do any optimization until the pipeline is reliably green each time. I just deal with slow builds and switch to other stuff or work ahead while they run.
2. Fail fast. The CI run should bail out if any critical steps don’t pass, so anything further down doesn’t run for no reason, burning compute time and delaying queued jobs waiting for a runner. While developing the pipeline, watch the logs and when you see something you don’t like, slap the cancel button, or collect a couple things you need to change and iterate with passes with 2-3 changes.
3. Use adequately spec’s hardware. Xcode is resource heavy and compiles need plenty of memory and cpu cores. Play around with what is a good compromise between power and cost. See if your project builds faster with more cpu cores, or faster cpu cores, etc.
> At least Googles process is quite simple and can be dockerized.
One man’s simple is another man’s “practically impossible”. Simple comes from familiarity and confidence. Anyway, you can totally run your builds in docker if you want to, and many do, but I’d personally not introduce more complexity until you have your pipelines running the slow way with the least amount of mental modeling to do. Once you know it all works, then have a go at running the build you know is good, inside a docker container (which in this case is just packing up kvm/qemu/libvirt to facilitate the running of a vm back on the host, but it means you can run mac containers on Linux runners, which will be much cheaper than Mac runners since those are usually Mac hardware)
https://github.com/sickcodes/Docker-OSX
> Also why do I have to pay Apple $125 a year when it costs $100 in the US? The exchange rate from CHF to USD should be in my favor.
Couple theories. 1. They have additional processing or tax expenses when dealing with your currency which they aren’t going to eat the cost of. 2. The higher price could be to deter abuse if for some reason there is an abnormal amount originating from accounts who pay with that currency.
-
Lima: A nice way to run Linux VMs on Mac
You can use qemu/libvirt/kvm on any Linux host to run macOS pretty easily these days[1]. I run Ventura on unraid with nvidea gpu passthrough and it’s been fairly painless.
You can also run macOS in docker, but it’s ultimately running through qemu/kvm as well[2]
1. https://github.com/kholia/OSX-KVM
2. https://github.com/sickcodes/Docker-OSX
-
Should I buy an iPhone or wait for beeper / sunbird
It would be a better idea to setup bluebubbles if you really want imessages while you wait, if you have an old laptop that you can use as a macos server. https://github.com/sickcodes/Docker-OSX is a brilliant solution for macos vm as a docker container. mac hardware not required
- Is it worth buying an iPhone to test on safari?
colima
-
Lcl.host: fast, easy HTTPS in your local dev environment
If you don't need a GUI, the following combo works pretty well:
- https://github.com/abiosoft/colima
- https://github.com/peterldowns/localias
-
Damn Small Linux 2024
You might look into CoLima as a way to get started.
https://github.com/abiosoft/colima?tab=readme-ov-file
Its user interface is Docker-like, using containers.
For full desktop, I've only used the commercial app "Parallels", which can set up an Ubuntu desktop for you. Also Fedora and Alpine and Debian I believe.
But
> I don't really have any resources to share. I just know how to boot a vmlinuz with an initramfs using QEMU, and decided to download the Linux kernel source code and try compiling it.
I highly recommend working through Linux from Scratch and possibly the Gentoo Handbook. It's a journey.
-
Howto: WASM runtimes in Docker / Colima
I could not find any guide how to add WASM container capability to Docker running on Colima. This guide provides a few Colima templates for exactly this, which adds WasmEdge, Wasmtime and Wasmer runtime types.
-
RamRamRamEveryoneSleepingOnDocker
Colima runs much faster on Macos: https://github.com/abiosoft/colima
-
Podman Desktop v1.5 with Compose onboarding and enhanced Kubernetes pod data
After docker desktop became unusable, I jumped to colima and never looked back. I still use the docker runtime in it (the non-proprietary part) but it also supports containerd. On Mac it's just a "brew install colima" and then "colima start"
I also install the compose and ecr credentials plug-ins (since I use ecr for my container registry.) It has the full functionality of docker desktop minus the UI, which I never used anyways.
https://github.com/abiosoft/colima
-
K3s – Lightweight Kubernetes
On my M1 Pro system, I have nothing but positive things to say about the experience of using Colima (https://github.com/abiosoft/colima). Quick to set up and fast to use.
- abiosoft/colima
-
UTM – Virtual Machines for iOS and macOS
I'd say Lima and Colima should be enough for most use cases:
https://lima-vm.io/
https://github.com/abiosoft/colima
-
Lazydocker
The bash/zsh equivalent wouldn't be too hard, but I use fish.
[0] https://github.com/abiosoft/colima, https://hn.algolia.com/?q=https%3A%2F%2Fgithub.com%2Fabiosof...
[1] https://orbstack.dev [3], https://hn.algolia.com/?q=https%3A%2F%2Forbstack.dev
[2] https://github.com/abiosoft/colima#customizing-the-vm and https://github.com/abiosoft/colima/blob/main/docs/FAQ.md#edi...
[3] I’m on OrbStack now, but it isn’t so much better at how I use Docker than Colima is that I think that it’s an instant buy, especially with the planned subscription model. If I used anything other than the Docker integration, I might think it's better, but as of right now, no.
I also have some issues with its insistence on asking for elevated permissions. I will never grant permission[4] to make a symlink to the "standard" Docker socket; context and `$DOCKER_HOST` work well enough. It should not ask if the permission hasn't been given once. I also worry about other "advanced" features that may need an elevated permissions helper[5].
[4] https://github.com/orbstack/orbstack/issues/281#issuecomment...
[5] https://github.com/orbstack/orbstack/issues/281#issuecomment... and following
- FLaNK Stack Weekly for 17 July 2023
What are some alternatives?
lima - Linux virtual machines, with a focus on running containers
macOS-Simple-KVM - Tools to set up a quick macOS VM in QEMU, accelerated by KVM.
Podman Desktop - Podman Desktop - A graphical tool for developing on containers and Kubernetes
redroid-doc - redroid (Remote-Android) is a multi-arch, GPU enabled, Android in Cloud solution. Track issues / docs here
minikube - Run Kubernetes locally
HomeBrew - 🍺 The missing package manager for macOS (or Linux)
rd - Container Management and Kubernetes on the Desktop
macos-virtualbox - Push-button installer of macOS Catalina, Mojave, and High Sierra guests in Virtualbox on x86 CPUs for Windows, Linux, and macOS
podman - Podman: A tool for managing OCI containers and pods.
podman-macos - 📦 Podman frontend for macOS
multipass - Multipass orchestrates virtual Ubuntu instances