diff --git a/examples/scala-docker/HelloDocker.scala b/examples/scala-docker/HelloDocker.scala new file mode 100644 index 0000000000..5f64f5ce06 --- /dev/null +++ b/examples/scala-docker/HelloDocker.scala @@ -0,0 +1,5 @@ +// File was generated from based on docs/cookbooks/scala-docker.md, do not edit manually! + +object HelloDocker extends App { + println("Hello from Docker") +} \ No newline at end of file diff --git a/examples/scala-docker/README.md b/examples/scala-docker/README.md new file mode 100644 index 0000000000..796ef62336 --- /dev/null +++ b/examples/scala-docker/README.md @@ -0,0 +1,56 @@ + + + +# Package Scala application as a docker image + +ScalaCLI can create an executable application and package it into a docker image. + +Here is a simple piece of code that will be executed in the docker container. + +```scala title=HelloDocker.scala +object HelloDocker extends App { + println("Hello from Docker") +} +``` + +Passing `--docker` to the `package` sub-command generates a docker image. The docker image name parameter `--docker-image-repository` is mandatory. + +The following command will generate `hello-docker` image with `latest` tag: + +```bash +scala-cli package --docker HelloDocker.scala --docker-image-repository hello-docker +``` + + + +```bash +docker run hello-docker +# Hello from Docker +``` + + + +It is also supported to package your app in `JS` or `Native` environments. + +```bash +scala-cli package --js --docker HelloDocker.scala --docker-image-repository hello-docker +``` + + +Package scala native application to docker image is supported only on Linux. + +```bash ignore +scala-cli package --native --docker HelloDocker.scala --docker-image-repository hello-docker +``` \ No newline at end of file diff --git a/website/docs/cookbooks/scala-docker.md b/website/docs/cookbooks/scala-docker.md new file mode 100644 index 0000000000..a26e236747 --- /dev/null +++ b/website/docs/cookbooks/scala-docker.md @@ -0,0 +1,56 @@ +--- +title: Package Scala application as a docker image +sidebar_position: 5 +--- + +# Package Scala application as a docker image + +ScalaCLI can create an executable application and package it into a docker image. + +Here is a simple piece of code that will be executed in the docker container. + +```scala title=HelloDocker.scala +object HelloDocker extends App { + println("Hello from Docker") +} +``` + +Passing `--docker` to the `package` sub-command generates a docker image. The docker image name parameter `--docker-image-repository` is mandatory. + +The following command will generate `hello-docker` image with `latest` tag: + +```bash +scala-cli package --docker HelloDocker.scala --docker-image-repository hello-docker +``` + + + +```bash +docker run hello-docker +# Hello from Docker +``` + + + +It is also supported to package your app in `JS` or `Native` environments. + +```bash +scala-cli package --js --docker HelloDocker.scala --docker-image-repository hello-docker +``` + + +Package scala native application to docker image is supported only on Linux. + +```bash ignore +scala-cli package --native --docker HelloDocker.scala --docker-image-repository hello-docker +``` \ No newline at end of file