enso/tools/ci/docker
Dmitry Bushev 67f075b10d
Optimize runtime Docker image size (#11529)
Reduce the size of the runtime Docker image from `3.04GB` to `1.41GB`.

```
$ docker images
REPOSITORY                   TAG       IMAGE ID       CREATED         SIZE
runtime                      latest    ab76231c78c5   9 minutes ago   1.41GB
<none>                       <none>    c8f70807b04f   4 hours ago     3.04GB
```

The image was bloated because of `RUN chmod` and `RUN chown` commands. When the `RUN` command modifies the file, it copies it to a new layer, resulting in a final image with multiple layers containing the same files.

# Important Notes
Note that copying directories with `COPY --chmod=5xx` sets the executable flag to both files and directories. While it is suboptimal (we only need the executable attribute for directories), having executable files in `/opt/enso` should not be an issue. Permissions can be narrowed further when the new Dockerfile `COPY` syntax is stabilized.
2024-11-12 22:04:46 +00:00
..
ydoc-server Dockerize NodeJS-based Ydoc (#10811) 2024-08-15 13:04:53 +00:00
docker-entrypoint.sh Allow for profiling startup in dockerized setting (#9865) 2024-05-06 15:04:54 +00:00
Dockerfile Optimize runtime Docker image size (#11529) 2024-11-12 22:04:46 +00:00