Installing plug-ins in a Docker image
To install custom plug-ins or make other changes based on the DITA-OT parent image, you can create your own Dockerfile and specify the official DITA-OT image as the basis for your image.
About this task
Each subsequent declaration in the Dockerfile modifies this parent image, so you can start with the official image, and add custom plug-ins or other commands as required to create a custom Docker image that includes everything you need to publish your content.
Procedure
Example
The docsrc/samples folder in the DITA-OT installation directory contains a complete example:
Building a new image
You can build a Docker image from this example by running the following command from the dita-ot-dir/docsrc/samples directory:
$ docker image build -t sample-docker-image:1.0 docker/
[+] Building 81.5s (4/6)
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 367B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for ghcr.io/dita-ot/dita-ot:4.2.3
=> [1/3] FROM ghcr.io/dita-ot/dita-ot:4.2.3@sha256:<hash>
=> => resolve ghcr.io/dita-ot/dita-ot:4.2.3@sha256:<hash>
Step 2/3 : RUN dita --install https://github.com/infotexture/dita-bootstrap/archive/master.zip
---> Running in d510f874cae0
Added net.infotexture.dita-bootstrap
Removing intermediate container d510f874cae0
---> 63deb8e15b5b
Step 3/3 : RUN dita --install org.dita-community.pdf-page-break
---> Running in b4ef2fcad916
Added org.dita-community.pdf-page-break
Removing intermediate container b4ef2fcad916
---> 402885636b7f
Successfully built 402885636b7f
Successfully tagged sample-docker-image:1.0
Docker steps through each instruction in the Dockerfile to build the sample image. In this case, the dita command provides feedback on each installed plug-in.
Running the new container
You can then start a container based on your new image:
$ docker container run --rm \
-v /path/to/dita-ot-dir/docsrc:/src sample-docker-image:1.0 \
-i /src/userguide.ditamap \
-o /src/out/dita-bootstrap \
-f html5-bootstrap -v
- -v mounts the docsrc subfolder of the DITA-OT directory on your host machine and binds it to the /src volume in the container
- -i specifies dita-ot-dir/docsrc/userguide.ditamap as the input map file
- -o writes the output to dita-ot-dir/docsrc/out/dita-bootstrap
- -f sets the output format to the Bootstrap template, and
- -v displays build progress messages with verbose logging
When the build is finished, you should find a copy of the DITA-OT documentation under dita-ot-dir/docsrc/out/dita-bootstrap, styled with the basic Bootstrap template from the custom plug-in.