I just don't like how the containers are ephemeral.. I want to use it like a VM.
I just don't like how the containers are ephemeral.. I want to use it like a VM.
> I just don't like how the containers are ephemeral.. I want to use it like a VM
I suspect you’ve just pulled some images and run them locally?
If you want your own custom image to run whenever you want for whichever purpose, take a look into building your own containers with a Dockerfile
https://docs.docker.com/get-started/docker-concepts/building...
That gets you the base “everything I need is already installed when I start it”.
After that it’s volume mappings for accessing local data within the running container
I wish it could automatically create a Dockerfile for me.
> Create a new image from a [running] container's changes
You might then be able to run ‘docker image history’ [1] to get the changes, which you might be able to write into your own Dockerfile [2]
but I’ve never tested this workflow because the best practice is just to write a Dockerfile first
The tool (docker) was designed in a specific way, learn how to use the tool’s workflow instead of wishing for a different workflow and you’ll have a much easier time.
[0]: https://docs.docker.com/reference/cli/docker/container/commi...
[1]: https://docs.docker.com/reference/cli/docker/image/history/
[2]: can’t remember how docker tracks internal container file system changes and whether the history command will pick them up
Edit — see sibling comment https://news.ycombinator.com/item?id=41371867 — basically… learn to build a dockerfile (they’re very simple and easy once you know how).
https://medium.com/@salah.mahmud/quick-introduction-into-usi...
On macOS, Docker uses HyperKit (which is a hypervisor built on top of macOS's Hypervisor.framework) to run a Linux virtual machine behind the scenes, so your containers actually are running in a VM, even if you don't (usually) interact directly with that VM.