Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
How did we do anything? That's rather a silly question.

Especially since you've pivoted from "Docker is crap" to "why use virtualization". Whatever happened to how great Podman is for containers?

So, to reiterate: you cannot run Sql Server via Brew and you cannot run different versions of Redis on a Mac either without containerizaion. And Docker fully runs on Mac whereby Podman does not, yet both are container management services.
I can. You can't. That is the difference. (besides your mssql, but why the heck would I run a thousand $ software in a docker)
 
  • Haha
  • Disagree
Reactions: Stella and bklement
Now that CentOS is on its way to oblivion, does anyone know what a good lightweight Linux to use with Docker? The ability of CentOS to start almost immediately in cross-platform x86-64 was a good feature even if the actual runtime was pretty slow. I'm no expert on Docker and I have no idea what comes next for a Linux engine.
Take a look at https://almalinux.org/
 
  • Like
Reactions: jdb8167
got , kiddo this day to attach with "gadget" .Normal work software is bored, no creativity. The main point of learn software to solve problem not to understand problem. A lot of even degree student fail to grasp what is programming is about.

There's plenty of creativity in software development: by nature, it's creative. It's very difficult to solve a problem if you don't understand the problem. If you think programming is boring, then it's probably not for you. There's many, whoever, who think software development is an interesting career choice. Of course, the business domain is of course, important for interest.

If a gadget helps with teaching kids to code, that's all good. Gadgets are nothing new, it's been like that for decades. In the 80s, there was the turtle robot that you could move around via programming, for instance.
 
Last edited:
  • Like
  • Haha
Reactions: jasweb and alien3dx
Interesting points.

Can you tell me, how it was done in pre-docker-times? I can only learn... :p
le me simplify thing. As i mention before not just pure joke sybase. Sybase and sql server before same code which sybase can be both world linux and windows while sql server on windows only.

Why i do thing sql server much better then MySQL ,store procedure. You type and test on fly while MySQL you need to compile to test it.

Why does docker help sql server in macos ?
By native is easier to microsoft and us to maintain the database. In old ways, most best basic is 3 server (email, host server,database) which nowdays you can spin saparate vm, docker or whatever new term you can call it.

** most people don't think c# and sql server couldn't run in macos . Yes you can.
** this is not for warflame database but focus how m1 can do the same thing as intel counterpart.@TiggrToo.
 
So Kubernetes is also new to you. I wonder why people bother with containers on local dev environments. Because the are too stupid or too lazy to understand the services they are trying to use.
Laziness isn't a bad thing when it comes to setting up things you simply rely on and don't develop.
 
Last edited:
You think you can run sql server via Brew? Impressive. Pray tell, what's the formula name for it?

Can you run multiple Redis servers from Brew? Rabbit?
The annoying part is that it shouldn't be a problem in theory, but those things are so non-portable. Even Postgres was annoying until they made Postgres.app, which is great.
 
  • Like
Reactions: TiggrToo
Well, I'd expect a container taking 32GiB RAM wouldn't take much less running "bare metal," unless Docker just has ridiculous overhead. I've been using it with 8.

I should have been more clear about my use case.

I'm a software developer so sharing RAM with Docker means hobbling or disabling the IDE experience on 16 gb Macs. I recommend 32 gb-- 16 gb set aside for Docker and 16 gb for everything else your OS uses. Applications like SQL Server in Linux can be very demanding in terms of both memory and disk usage so the more RAM, the better.

It all depends on your use case. If you're making small images and containers with few dependencies and low overhead then a 16 gb system can work fine for Docker.
 
  • Like
Reactions: SuperMatt
WTF are you talking about? It's called 'education' and teaching kids to code.. there's no downside to that.
There is a downside when they're afraid that everyone learning to code = losing their job or lower compensation from their employer. Which is why always improving your knowledge, skills, and abilities with growing technologies, like Docker, is important.
 
I should have been more clear about my use case.

I'm a software developer so sharing RAM with Docker means hobbling or disabling the IDE experience on 16 gb Macs. I recommend 32 gb-- 16 gb set aside for Docker and 16 gb for everything else your OS uses. Applications like SQL Server in Linux can be very demanding in terms of both memory and disk usage so the more RAM, the better.

It all depends on your use case. If you're making small images and containers with few dependencies and low overhead then a 16 gb system can work fine for Docker.
for my work load normally 10 GB in 16 GB ram. If i do some work in docker which mean i need more ram while my imac 2017 max 16 GB and my macbook m1 just 8 GB . I prefer/required separate pc which can bought as dumb server cost around 300 dollar to 500 instead rely on mac.
 
  • Like
Reactions: AxiomaticRubric
There's plenty of creativity in software development: by nature, it's creative. It's very difficult to solve a problem if you don't understand the problem. If you think programming is boring, then it's probably not for you. There's many, whoever, who think software development is an interesting career choice. Of course, the business domain is of course, important for interest.

If a gadget helps with teaching kids to code, that's all good. Gadgets are nothing new, it's been like that for decades. In the 80s, there was the turtle robot that you could move around via programming, for instance.

That's either you didn't live in software development.

Code Monkey - doesn't care about business process, they just do as they said so. They don't solve problem.
System Analyst/System Architect - deal with base code / infra (maybe docker/kubernates or what ever)

You miss understanding the concept. It's never about CODE, FRAMEWORK. It's about delivery to solve problem. Talk with codemonkey then you deal all those code /framework.
 
  • Disagree
Reactions: Stella
for my work load normally 10 GB in 16 GB ram. If i do some work in docker which mean i need more ram while my imac 2017 max 16 GB and my macbook m1 just 8 GB . I prefer/required separate pc which can bought as dumb server cost around 300 dollar to 500 instead rely on mac.
+1 I have 8 gb m1 too. With Apple memory prices, it's just cheaper to spin up an aws spot instance when needed to be used as docker engine.
 
Can someone tell me what Docker is?
I understand it lets you run software on any system, but does this mean its an emulator? Can it be used for stuff like Microsoft Office? Do you download a Docker app and launch the software from there or do you download the software already wrapped with docker, just download and launch?
 
Can someone tell me what Docker is?
I understand it lets you run software on any system, but does this mean its an emulator? Can it be used for stuff like Microsoft Office? Do you download a Docker app and launch the software from there or do you download the software already wrapped with docker, just download and launch?
No, it’s not an emulator. It uses the kernel of the host OS. In the case of MacOS, it leverages Apple’s Hypervisor technology (with a tool called hyperkit) to create a Linux VM to run Linux containers. Here’s a good document about how it works:



Its most common use is to emulate a server environment on your local machine for development purposes. The nice thing is that once you create that environment, you can actually deploy the exact environment to servers that support Docker.
 
Last edited:
No, it’s not an emulator. It uses the kernel of the host OS. In the case of MacOS, it leverages Apple’s Hypervisor technology (with a tool called hyperkit) to create a Linux VM to run Linux containers. Here’s a good document about how it works:



Its most common use is to emulate a server environment on your local machine for development purposes. The nice thing is that once you create that environment, you can actually deploy the exact environment to servers that support Docker.
Actually Docker also does include an x86-64 emulator for Apple Silicon (it uses the QEmu emulator). This allows cross-platform use on the M1. I’ve tested it and it is several times slower than native but depending on what you need it might be adequate.
 
  • Like
Reactions: SuperMatt
Actually Docker also does include an x86-64 emulator for Apple Silicon (it uses the QEmu emulator). This allows cross-platform use on the M1. I’ve tested it and it is several times slower than native but depending on what you need it might be adequate.
I've used it when no alternative exists and it does work pretty well. I ran a full x86 ubuntu really well. No question ARM images work way better.

I use it to spin up my services I'm developing before deploy.
 
Actually Docker also does include an x86-64 emulator for Apple Silicon (it uses the QEmu emulator). This allows cross-platform use on the M1. I’ve tested it and it is several times slower than native but depending on what you need it might be adequate.
Guess then the best way to describe it without breaking barriers of abstraction is that it runs Linux containers. VMs, emulators, etc may lie beneath depending on the platform.

Or am I wrong about that too, and it can run other kinds of containers?
 
  • Haha
Reactions: alien3dx
Guess then the best way to describe it without breaking barriers of abstraction is that it runs Linux containers. VMs, emulators, etc may lie beneath depending on the platform.

Or am I wrong about that too, and it can run other kinds of containers?

For me, my thinking those things as all in one apps no need thinking how to set up those nasty configuration. But for normal user like me, we don't have multiple network port so practically if wanted to implement own virtual network only.
 
Guess then the best way to describe it without breaking barriers of abstraction is that it runs Linux containers. VMs, emulators, etc may lie beneath depending on the platform.

Or am I wrong about that too, and it can run other kinds of containers?
That seems accurate though I don't know what it does on Windows. I guess it uses WSL which still seems to fit your description.
 
That seems accurate though I don't know what it does on Windows. I guess it uses WSL which still seems to fit your description.
It can also run Windows docker containers, but only on Windows.

 
  • Like
Reactions: jdb8167
  • Like
Reactions: jeremiah256
I'm just an ordinary user. I get the Docker is something useful for developers. But does it have any use for "regular" people? Is it comparable in any way to a virtual machine? Can a Mac user run apps built for other operating systems?
Here's my attempt at a layman answer:

'Regular people' probably would never use a Docker container directly, but for now, just know that many of the services and applications you use, may use containers as part of their product or service, or developers used containers to build those services.

In layman terms, a Docker container is comparable to a VM, but containers are lighter, quicker to deploy, but more dependent on your operating system. These are trade offs the developer considers when deciding on whether to run a full VM vs running a container as part of their development process. And this is not a 'use one or the other' situation. You can use containers and VMs together.

Container can't (easily) run apps from other operating systems. That is the advantage of a VM: you want to run a Windows app on your Mac? Download a hypervisor (such as VMWare, Virtual Box, Parallels), download Windows, create a VM and run your app. A disadvantage is that you are downloading an additional full OS, and creating VMs (which each contain the OS) can take up much more space than using containers, which share/reuse resources between themselves.

As said before, containers, unlike VMs, are very dependent on your host OS to help run applications/processes. The advantage is that everything has a much smaller footprint on your computer as you're using the host OS vice downloading another OS, to run the application. The disadvantage is that since Docker needs direct help from your host OS to run the app in your container, the container needs to be the same OS as the host. So no (simple way) of running that Windows app you want to use in a container on a Mac, as a Windows container would not get the help it needs from macOS.

So a common scenario is a developer, working in Linux, creating a solution that may go to a different flavor of Linux. As all flavors of Linux share the same OS kernel, this is no problem. The container will receive the help from the kernel it needs.

And this leads back to your original question: No, an average user has no direct use for Docker, but it is a valuable tool for developers.
 
Here's my attempt at a layman answer:

'Regular people' probably would never use a Docker container directly, but for now, just know that many of the services and applications you use, may use containers as part of their product or service, or developers used containers to build those services.

In layman terms, a Docker container is comparable to a VM, but containers are lighter, quicker to deploy, but more dependent on your operating system. These are trade offs the developer considers when deciding on whether to run a full VM vs running a container as part of their development process. And this is not a 'use one or the other' situation. You can use containers and VMs together.

Container can't (easily) run apps from other operating systems. That is the advantage of a VM: you want to run a Windows app on your Mac? Download a hypervisor (such as VMWare, Virtual Box, Parallels), download Windows, create a VM and run your app. A disadvantage is that you are downloading an additional full OS, and creating VMs (which each contain the OS) can take up much more space than using containers, which share/reuse resources between themselves.

As said before, containers, unlike VMs, are very dependent on your host OS to help run applications/processes. The advantage is that everything has a much smaller footprint on your computer as you're using the host OS vice downloading another OS, to run the application. The disadvantage is that since Docker needs direct help from your host OS to run the app in your container, the container needs to be the same OS as the host. So no (simple way) of running that Windows app you want to use in a container on a Mac, as a Windows container would not get the help it needs from macOS.

So a common scenario is a developer, working in Linux, creating a solution that may go to a different flavor of Linux. As all flavors of Linux share the same OS kernel, this is no problem. The container will receive the help from the kernel it needs.

And this leads back to your original question: No, an average user has no direct use for Docker, but it is a valuable tool for developers.
It doesn't need the same OS as the host. For Windows, that's a special case as it's... Windows. But the containers use Linux as a base. The idea is a container will run enough to get something up and share resources on the Host. You can scale many more containers vs VMs. Plus they are isolated and easy to provision and tear down.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.