2018-07-12 13:39:17 +00:00
=========================
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
2018-07-12 13:39:17 +00:00
├── 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>