Explorar el Código

Be explicit on the onbuild/Carton image as example, & add caveats

Refer to our use of `ONBUILD` here as an example suitable for Carton
base image building, but add considerations per
https://github.com/docker-library/docs/pull/968#issuecomment-319227103
Zak B. Elep hace 8 años
padre
commit
43b7e86694
Se han modificado 1 ficheros con 6 adiciones y 1 borrados
  1. 6 1
      perl/content.md

+ 6 - 1
perl/content.md

@@ -32,7 +32,7 @@ For many simple, single file projects, you may find it inconvenient to write a c
 $ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp perl:5.20 perl your-daemon-or-script.pl
 ```
 
-## Creating a reusable `perl:onbuild` image for Perl projects
+## 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 `perl:carton` image that makes use of the [ONBUILD](https://docs.docker.com/engine/reference/builder/#onbuild) instruction in its `Dockerfile`, like this:
 
@@ -50,3 +50,8 @@ ONBUILD COPY . /usr/src/app
 ```
 
 Then, in your Carton project, you can now reduce your project's `Dockerfile` into a single line of `FROM perl:carton`, which may be enough to build a stand-alone image.
+
+Having a single `perl:carton` base image is useful especially if you have multiple Carton-based projects in development, to avoid "boilerplate" coding of installing Carton and/or copying the project source files into the derived image. Keep in mind, though, about certain things to consider when using the Perl image in this way:
+
+-	This kind of base image will hide the useful bits (such as the`COPY`/`RUN` above) in the image, separating it from more specific Dockerfiles using the base image. This might lead to confusion when creating further derived images, so be aware of how [ONBUILD triggers](https://docs.docker.com/engine/reference/builder/#onbuild) work and plan appropriately.
+-	There is the cost of maintaining an extra base image build, so if you're working on a single Carton project and/or plan to publish it, then it may be more preferable to derive directly from a versioned `perl` image instead.