3 ms·
Docker was originally built on top of LXC. It is now becoming more flexible with what is underneath, but there's a reason you need a VM running in the backgroun
by secstate 10y ago
Docker was originally built on top of LXC. It is now becoming more flexible with what is underneath, but there's a reason you need a VM running in the background on macOS to use Docker.
Docker is tool to interact with LXC (and hopefully other container systems).
- icebraining 10y agoDocker doesn't use LXC anymore[1]. The reason you need a VM is to get the Linux kernel, not LXC, and the reason you need that is because the macOS kernel (Darwin) doesn't have the necessary containerization features. On FreeBSD, for example, Docker runs natively, without a VM. [1] https://www.infoq.com/news/2014/03/docker_0_9 https://www.infoq.com/news/2014/03/docker_0_9
- fnj 10y agoIf MacOS doesn't have certain linux kernel features, neither does FreeBSD. How can Docker run on FreeBSD when FreeBSD has no cgroups? I think you misread/misinterpreted your reference.
- tonyhb 10y agoxhyve and bhyve virtualization built into the BSD kernels. docker for mac now runs a tiny linux vm directly on osx
- 2trill2spill 10y ago> How can Docker run on FreeBSD when FreeBSD has no cgroups? I think you misread/misinterpreted your reference. FreeBSD can run 64 bit and 32 bit Linux binaries via it's Linux emulator[1]. Plus FreeBSD has had containers since FreeBSD 4 which was released in March of 2000, except containers on FreeBSD are called jails. > If MacOS doesn't have certain linux kernel features, neither does FreeBSD. Just because one operating system doesn't have a feature that does not mean a different operating system does not have that feature. [1] https://www.freebsd.org/doc/handbook/linuxemu.html https://www.freebsd.org/doc/handbook/linuxemu.html
- indexerror 10y agoJails are considerably different than containers. Jails are more like chroot jails on linux instead. Edit: My viewpoint was focused more on the composability aspect of containers. But I stand corrected otherwise.
- 2trill2spill 10y ago> Jails are considerably different than containers. Jails are more like chroot jails on linux instead. Thats incorrect both jails and "containers" are examples of OS level virtualization[1]. Instead of virtualizing the hardware you virtualize the operating system, ie system call table. [1]: https://en.wikipedia.org/wiki/Operating-system-level_virtualization https://en.wikipedia.org/wiki/Operating-system-level_virtual...
- empthought 10y agoNo, jails are basically containers. Docker on FreeBSD uses jails for isolation -- see the wiki page at https://wiki.freebsd.org/Docker https://wiki.freebsd.org/Docker