mirror of https://github.com/docker/docs.git
commit
f46129b40c
|
@ -22,7 +22,7 @@ We are using the Apache License Version 2.0, see it here:
|
||||||
[https://github.com/docker/docker/blob/master/LICENSE](
|
[https://github.com/docker/docker/blob/master/LICENSE](
|
||||||
https://github.com/docker/docker/blob/master/LICENSE)
|
https://github.com/docker/docker/blob/master/LICENSE)
|
||||||
|
|
||||||
### Does Docker run on macOS or Windows?
|
### Does Docker run on Linux, macOS, or Windows?
|
||||||
|
|
||||||
The Docker Engine client runs natively on Linux, macOS, and Windows. By default, these
|
The Docker Engine client runs natively on Linux, macOS, and Windows. By default, these
|
||||||
clients connect to a local Docker daemon running in a virtual environment managed
|
clients connect to a local Docker daemon running in a virtual environment managed
|
||||||
|
@ -45,23 +45,23 @@ Containers and virtual machines (VMs) are complementary. VMs excel at providing
|
||||||
|
|
||||||
### What does Docker technology add to just plain LXC?
|
### What does Docker technology add to just plain LXC?
|
||||||
|
|
||||||
Docker technology is not a replacement for LXC. "LXC" refers to capabilities of
|
Docker technology is not a replacement for [LXC](https://linuxcontainers.org/). "LXC" refers to capabilities of
|
||||||
the Linux kernel (specifically namespaces and control groups) which allow
|
the Linux kernel (specifically namespaces and control groups) which allow
|
||||||
sandboxing processes from one another, and controlling their resource
|
sandboxing processes from one another, and controlling their resource
|
||||||
allocations. On top of this low-level foundation of kernel features, Docker
|
allocations. On top of this low-level foundation of kernel features, Docker
|
||||||
offers a high-level tool with several powerful functionalities:
|
offers a high-level tool with several powerful functionalities:
|
||||||
|
|
||||||
- *Portable deployment across machines.* Docker defines a format for bundling
|
- *Portable deployment across machines.* Docker defines a format for bundling
|
||||||
an application and all its dependencies into a single object which can be
|
an application and all its dependencies into a single object called a container. This container can be
|
||||||
transferred to any Docker-enabled machine, and executed there with the
|
transferred to any Docker-enabled machine. The container can be executed there with the
|
||||||
guarantee that the execution environment exposed to the application will be the
|
guarantee that the execution environment exposed to the application will be the
|
||||||
same. LXC implements process sandboxing, which is an important pre-requisite
|
same in development, tesing, and production. LXC implements process sandboxing, which is an important pre-requisite
|
||||||
for portable deployment, but that alone is not enough for portable deployment.
|
for portable deployment, but is not sufficient for portable deployment.
|
||||||
If you sent me a copy of your application installed in a custom LXC
|
If you sent me a copy of your application installed in a custom LXC
|
||||||
configuration, it would almost certainly not run on my machine the way it does
|
configuration, it would almost certainly not run on my machine the way it does
|
||||||
on yours, because it is tied to your machine's specific configuration:
|
on yours. The app you sent me is tied to your machine's specific configuration:
|
||||||
networking, storage, logging, distro, etc. Docker defines an abstraction for
|
networking, storage, logging, etc. Docker defines an abstraction for
|
||||||
these machine-specific settings, so that the exact same Docker container can
|
these machine-specific settings. The exact same Docker container can
|
||||||
run - unchanged - on many different machines, with many different
|
run - unchanged - on many different machines, with many different
|
||||||
configurations.
|
configurations.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue