@@ -47,7 +47,8 @@ This can be done via the Docker Socket mount permissions section in the
4747 " docker.io/localstack/localstack:*" ,
4848 " docker.io/testcontainers/ryuk:*" ,
4949 " docker:cli"
50- ]
50+ ],
51+ "allowDerivedImages" : true
5152 },
5253 "commandList" : {
5354 "type" : " deny" ,
@@ -119,9 +120,9 @@ memory. Then, when a container is started with a Docker socket bind-mount,
119120Docker Desktop checks if the container's image digest matches one of the allowed
120121digests. If so, the container is allowed to start, otherwise it's blocked.
121122
122- Due to the digest comparison, it's not possible to bypass the Docker socket mount permissions by re-tagging a
123- disallowed image to the name of an allowed one. In other words, if a user
124- does:
123+ Due to the digest comparison, it's not possible to bypass the Docker socket
124+ mount permissions by re-tagging a disallowed image to the name of an allowed
125+ one. In other words, if a user does:
125126
126127``` console
127128$ docker image rm < allowed_image>
@@ -135,7 +136,7 @@ ones in the repository.
135136
136137### Docker Socket Mount Permissions for derived images
137138
138- {{ introduced desktop 4.34.0 "../../../../desktop/release-notes.md#4340" }}
139+ {{< introduced desktop 4.34.0 "../../../../desktop/release-notes.md#4340" > }}
139140
140141As described in the prior section, administrators can configure the list of container
141142images that are allowed to mount the Docker socket via the ` imageList ` .
@@ -162,7 +163,7 @@ simply add the following image to the `imageList`:
162163``` json
163164"imageList" : {
164165 "images" : [
165- " paketobuildpacks/builder:base" ,
166+ " paketobuildpacks/builder:base"
166167 ],
167168 "allowDerivedImages" : true
168169}
@@ -173,12 +174,15 @@ When the buildpack runs, it will create an ephemeral image derived from
173174allow this because it will notice that the ephemeral image is derived from an
174175allowed image.
175176
176- The behavior is enabled by default. It can be disabled by setting
177- ` allowDerivedImages=false ` in the ` admin-settings.json ` file. In general it is
178- not recommended that you disable this setting unless you know it won't be
179- required.
177+ The behavior is disabled by default and must be explicitly enabled by setting
178+ ` "allowDerivedImages": true ` as shown above. In general it is recommended that
179+ you disable this setting unless you know it's required.
180180
181- A couple of caveats:
181+ A few caveats:
182+
183+ * Setting ` "allowedDerivedImages" :true ` will impact the startup time of
184+ containers by up to 1 extra second, as Docker Desktop needs to perform
185+ some more checks on the container image.
182186
183187* The ` allowDerivedImages ` setting only applies to local-only images built from
184188 an allowed image. That is, the derived image must not be present in a remote
@@ -211,6 +215,10 @@ list to allow any container to mount the Docker socket. You do this by adding
211215}
212216```
213217
218+ This tells Docker Desktop to allow all containers to mount the Docker socket
219+ which increases flexibility but reduces security. It also improves container
220+ startup time when using Enhanced Container Isolation.
221+
214222It is recommended that you use this only in scenarios where explicitly listing
215223allowed container images is not flexible enough.
216224
0 commit comments