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.
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)
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/workNow build a Docker image tagged golem-example using the above Dockerfile.
docker build . -t golem-exampleConverting 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-exampleor if you do not have gvmkit-build installed:
npx gvmkit-build golem-exampleConverting 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 --nologinor if you do not have gvmkit-build installed:
npx gvmkit-build golem-example --push --nologinThe hash is found in the image link line of the console output:
-- image link (for use in SDK): 99e40c2168cef0231dde2ed7ed74ebb607f25d8ed4bf9fe537f8da7b