Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
3a836b9
initial structure of ECI-DM
aevesdocker Sep 6, 2022
a909b97
PR-FAQ additions
aevesdocker Sep 13, 2022
f432f84
further PR-FAQ additions
aevesdocker Sep 14, 2022
e01d41a
edits, edits, edits
aevesdocker Sep 16, 2022
ded7288
edits and fix broken link
aevesdocker Sep 16, 2022
1d85fc1
added more known issues
aevesdocker Sep 20, 2022
769f9e3
incorporate review feedback
aevesdocker Sep 28, 2022
f8c780d
resolve merge issues
aevesdocker Sep 29, 2022
5035582
tweaks from feedback
aevesdocker Sep 29, 2022
72ad09e
review comments for hardened desktop landing page
aevesdocker Oct 5, 2022
b6c3db1
review comments for the Admin Controls landing page
aevesdocker Oct 5, 2022
85810db
review comments for the ECI FAQ page
aevesdocker Oct 5, 2022
0cb0ed9
review comments for the AC Configure page
aevesdocker Oct 5, 2022
58691e7
screenshot add
aevesdocker Oct 5, 2022
35a0fef
review round 2 changes
aevesdocker Oct 5, 2022
44297a2
more tweaks
aevesdocker Oct 5, 2022
b229538
info from @ebriney
aevesdocker Oct 5, 2022
6273273
minor tweaks
aevesdocker Oct 6, 2022
9b56020
consistency fixes and tweaks
aevesdocker Oct 6, 2022
0b9f180
remove trailing comma and add more WSL notes
aevesdocker Oct 7, 2022
dcb6bbd
customer zero feedback
aevesdocker Oct 7, 2022
1cd3550
review suggestions from Rodny and Cesar, and proxy section fix
aevesdocker Oct 11, 2022
d0cbc6e
review edits from Rodny and Docs team
aevesdocker Oct 12, 2022
0782c73
bug bash 1 fixes
aevesdocker Oct 13, 2022
b2021a8
bug bash 1 fixes
aevesdocker Oct 13, 2022
390c75d
changes from bug bash 2
aevesdocker Oct 13, 2022
1f2017e
Further comments from Cesar
aevesdocker Oct 14, 2022
9a3a8ca
proxy change
aevesdocker Oct 14, 2022
3aee65c
tweaks and installer flag addition
aevesdocker Oct 17, 2022
b1e263f
typo fix
aevesdocker Oct 18, 2022
ec748c6
typo fix
aevesdocker Oct 18, 2022
5bbe30e
Cesar's additions
aevesdocker Oct 19, 2022
cc5af44
fix broken links
aevesdocker Oct 19, 2022
fe09c79
final checks
aevesdocker Oct 19, 2022
453a7d3
Merge branch 'master' into aevesdocker-ECI-DM
aevesdocker Oct 19, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 23 additions & 2 deletions _data/toc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1269,6 +1269,28 @@ manuals:
title: Run Docker Desktop for Windows in a VM or VDI environment
- path: /desktop/uninstall/
title: Uninstall Docker Desktop
- sectiontitle: Hardened Desktop
section:
- path: /desktop/hardened-desktop/
title: Overview
- sectiontitle: Settings Management
section:
- path: /desktop/hardened-desktop/settings-management/
title: What is Settings Management?
- path: /desktop/hardened-desktop/settings-management/configure/
title: Configure Settings Management
- sectiontitle: Enhanced Container Isolation
section:
- path: /desktop/hardened-desktop/enhanced-container-isolation/
title: What is Enhanced Container Isolation?
- path: /desktop/hardened-desktop/enhanced-container-isolation/how-eci-works/
title: How does it work?
- path: /desktop/hardened-desktop/enhanced-container-isolation/features-benefits/
title: Key features and benefits
- path: /desktop/hardened-desktop/enhanced-container-isolation/faq/
title: FAQs and known issues
- path: /desktop/hardened-desktop/registry-access-management/
title: Registry Access Management
- sectiontitle: Dev Environments (Beta)
section:
- path: /desktop/dev-environments/
Expand Down Expand Up @@ -1678,8 +1700,7 @@ manuals:
title: System for Cross-domain Identity Management
- path: /docker-hub/image-access-management/
title: Image Access Management
- path: /docker-hub/registry-access-management/
title: Registry Access Management


- sectiontitle: Security
section:
Expand Down
Binary file added assets/images/grayed-setting.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions assets/images/lock.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions assets/images/registry.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions assets/images/secure.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
129 changes: 129 additions & 0 deletions desktop/hardened-desktop/enhanced-container-isolation/faq.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
---
title: FAQs and known issues
description: FAQ for Enhanced Container Isolation
keywords: enhanced container isolation, security, faq, sysbox
toc_max: 2
---

<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" data-target="#tab3">FAQs</a></li>
<li><a data-toggle="tab" data-target="#tab4">Limitations and Known Issues</a></li>
</ul>
<div class="tab-content">
<div id="tab3" class="tab-pane fade in active" markdown="1">

#### Do I need to change the way I use Docker when Enhanced Container Isolation is enabled?

No, you can continue to use Docker as usual. Enhanced Container Isolation will be mostly transparent to you.

#### Do all container workloads work well with Enhanced Container Isolation?

Most container workloads do, a few do not (yet). For the few workloads that
don't yet work with Enhanced Container Isolation, Docker will continue to improve the feature to reduce
this to a minimum.

#### Can I run privileged containers with Enhanced Container Isolation?

Yes, you can use the `--privileged` flag in containers but unlike privileged
containers without Enhanced Container Isolation, the container can only use it's elevated privileges to
access resources assigned to the container. It can't access global kernel
resources in the Docker Desktop Linux VM. This allows you to run privileged
containers securely. For more information, see [Key features and benefits](features-benefits.md#privileged-containers-are-also-secured).

#### Will all privileged container workloads run with Enhanced Container Isolation?

No. Privileged container workloads that wish to access global kernel resources, for example non-namespaced, inside the Docker Desktop Linux VM won't
work. For example, you can't use a privileged container to load a kernel module.

#### Why not just restrict usage of the `--privileged` flag?

Privileged containers are typically used to run advanced workloads in
containers, for example Docker-in-Docker or Kubernetes-in-Docker, to
perform kernel operations such as loading modules, or to access hardware
devices.

Enhanced Container Isolation allows running advanced workloads, but denies the ability to perform
kernel operations or access hardware devices.

#### Does Enhanced Container Isolation restrict bind mounts inside the container?

Yes, it restricts bind mounts of directories located in the Docker Desktop Linux
VM into the container.

It does not restrict bind mounts of your host machine files into the container,
as configured via Docker Desktop's **Settings** > **Resources** > **File Sharing**.

#### Does Enhanced Container Isolation protect all containers launched with Docker Desktop?

It protects all containers launched by users via `docker create` and `docker run`. It does not yet protect Docker Desktop Kubernetes pods, Extension
Containers, and Dev Environments.

#### Does Enhanced Container Isolation affect performance of containers?

Enhanced Container Isolation has very little impact on the performance of containers. The exception is
for containers that perform lots of `mount` and `umount` system calls, as these
are trapped and vetted by the Sysbox container runtime.

#### With Enhanced Container Isolation, can the user still override the `--runtime` flag from the CLI ?

No. With Enhanced Container Isolation enabled, Sysbox is locked as the default (and only) runtime for
containers deployed by Docker Desktop users. If a user attempts to override the
runtime (e.g., `docker run --runtime=runc`), this request is ignored and the
container is created through the Sysbox runtime.

The reason `runc` is disallowed with Enhanced Container Isolation because it
allows users to run as "true root" on the Docker Desktop Linux VM, thereby
providing them with implicit control of the VM and the ability to modify the
administrative configurations for Docker Desktop, for example.

#### How is ECI different from Docker Engine's userns-remap mode?

See [How does it work](how-eci-works.md#enhanced-container-isolation-vs-docker-userns-remap-mode).

#### How is ECI different from Rootless Docker?

See [How does it work](how-eci-works.md#enhanced-container-isolation-vs-rootless-docker)

<hr>
</div>
<div id="tab4" class="tab-pane fade" markdown="1">

#### Incompatibility with Windows Subsystem for Linux (WSL)
Enhanced Container Isolation (ECI) does not currently work when Docker Desktop runs on
Windows with WSL/WSL2. This is due to some limitations of the WSL/WSL2 Linux
Kernel. As a result, to use Enhanced Container Isolation on Windows, you must
configure Docker Desktop to use Hyper-V. This can be enforced using Admin
Controls. For more information, see [Settings Management](../settings-management/index.md).

#### Docker build and buildx has some restrictions
With ECI enabled, Docker build `--network=host` and Docker buildx entitlements
(`network.host`, `security.insecure`) are not allowed. Builds that require
these will not work properly.

#### Kubernetes pods are not yet protected
Kubernetes pods are not yet protected by ECI. A malicious or privileged pod can
compromise the Docker Desktop Linux VM and bypass security controls. We expect
to improve on this in future versions of Docker Desktop.

#### Extension Containers are not yet protected
Extension containers are also not yet protected by ECI. Ensure you extension
containers come from trusted entities to avoid issues. We expect to improve on
this in future versions of Docker Desktop.

#### Docker Desktop dev environments are not yet protected
Containers launched by the Docker Desktop Dev Environments feature are not yet
protected either. We expect to improve on this in future versions of Docker
Desktop.

#### Use in production
In general users should not experience differences between running a container
in Docker Desktop with ECI enabled, which uses the Sysbox runtime, and running
that same container in production, through the standard OCI `runc` runtime.

However in some cases, typically when running advanced or privileged workloads in
containers, users may experience some differences. In particular, the container
may run with ECI but not with `runc`, or vice-versa.

<hr>
</div>
</div>
Loading