instructions

Converting an image

Introduction

Golem images are based on Docker images, which means that it is required to have a Docker image to be able to convert it to a Golem image. We will include a simple Dockerfile just to show how the tool and its commands work for demonstration purposes, and you are free to create your own Dockerfile.

info

These instructions has been designed to work with the following environments:

  • OS X 10.14+, Ubuntu 20.04 or Windows
  • Node.js 16.0.0 or above

Prerequisites

  • Have Docker installed and Docker service available. If you don't have Docker installed follow these instructions
  • Gvmkit-build installed (see instructions)
info

You can use npx and pipx tools to run gvmkit-build without installation.

Building your Docker image

Create a Dockerfile file with the following content:

FROM debian:latest
VOLUME /golem/input /golem/output
WORKDIR /golem/work

Now build a Docker image tagged golem-example using the above Dockerfile.

docker build . -t golem-example

Converting Docker image to a Golem image

The examples below show how to convert the Docker image tagged golem-example to a .gvmi file in the current directory.

gvmkit-build golem-example

or if you do not have gvmkit-build installed:

npx gvmkit-build golem-example

Converting and publishing your image at once (hash-based)

This example explains how to convert and publish an image that will be identified by its hash. The examples assume you have a Docker image tagged golem-example already created.

Note if the image was already converted to .gvmi format, it will only be pushed.

gvmkit-build golem-example --push --nologin

or if you do not have gvmkit-build installed:

npx gvmkit-build golem-example --push --nologin

The hash is found in the image link line of the console output:

 -- image link (for use in SDK): 99e40c2168cef0231dde2ed7ed74ebb607f25d8ed4bf9fe537f8da7b