corda/docs/source/building-container-images.rst

55 lines
1.9 KiB
ReStructuredText
Raw Normal View History

=========================
Building Container Images
=========================
To build a container image of Corda you can use the Jib gradle tasks. See the `documentation of the Jib gradle plugin <https://github.com/GoogleContainerTools/jib/tree/master/jib-gradle-plugin>`_ for details.
Building the image
==================
To build an image locally you can use the following command. Note that you do not require Docker.
.. sourcecode:: shell
./gradlew node:jib --image <registry>/<image>:<tag>
If you prefer building to a Docker deamon you can use
.. sourcecode:: shell
./gradlew node:jibDockerBuild --image <registry>/<image>:<tag>
Running the image
=================
The Corda application expects its config file in ``/config/node.conf``, make
sure you mount the config file to that location. You might also want to mount
``/credentials`` and ``/persistence.mv.db`` (if you're using H2) in order to
preserve the credentials and node data between container restarts.
The JVM options are currently hardcoded in ``node/build.gradle`` in the
``jib.container`` section.
Below is an example directory layout and command to run your image with Docker.
Make sure to run ``touch persistence.mv.db`` befor starting the container,
otherwise a new directory will be created by Docker.
::
.
2018-07-13 08:58:05 +00:00
├── additional-node-infos
├── certificates
├── config
│   └── node.conf
├── network-parameters
└── persistence.mv.db
.. sourcecode:: shell
docker run --rm -it -v ${PWD}/certificates:/certificates \
-v ${PWD}/config:/config \
-v ${PWD}/network-parameters:/network-parameters \
2018-07-13 08:58:05 +00:00
-v ${PWD}/persistence.mv.db:/persistence.mv.db \
-v ${PWD}/additional-node-infos:/additional-node-infos \
<registry>/<image>:<tag>