Skip to content

Commit

Permalink
Merge pull request #2356 from zakame/perl-debian-12-workdir
Browse files Browse the repository at this point in the history
perl/content.md: Note about WORKDIR issue with Debian 12 based image
  • Loading branch information
yosifkit authored Aug 3, 2023
2 parents 9d89646 + 0cba315 commit 0e52007
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions perl/content.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,12 @@ If your Perl program is expected to handle signals and fork child processes, it

See also [Signals in perlipc](https://perldoc.pl/perlipc#Signals) as well as [Perl/docker-perl#44](https://github.com/Perl/docker-perl/issues/44).

### `COPY` and `WORKDIR` behavior in Debian Bookworm based images (Perl >= 5.38)

As our Perl images are based on the standard `buildpack-deps` and `debian` images, these inherit the new [merged-usr root filesystem layout](https://wiki.debian.org/UsrMerge) introduced in Debian 12 (Bookworm) which may affect certain build contexts that `COPY` their own `bin`, `sbin`, or `lib` directories into a `WORKDIR /`. Users are encouraged to set `WORKDIR` explicitly to a path other than `/` as much as possible, such as the `/usr/src/app` shown here in the examples, though as of current release our images now default to `WORKDIR /usr/src/app`.

See also [Perl/docker-perl#140](https://github.com/Perl/docker-perl/issues/140) for further information.

## Example: Creating a reusable Carton image for Perl projects

Suppose you have a project that uses [Carton](https://metacpan.org/pod/Carton) to manage Perl dependencies. You can create a `%%IMAGE%%:carton` image that makes use of the [ONBUILD](https://docs.docker.com/engine/reference/builder/#onbuild) instruction in its `Dockerfile`, like this:
Expand Down

0 comments on commit 0e52007

Please sign in to comment.