Skip to content

Latest commit

 

History

History

01-hello

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

01 - Hello World!

In this basic example there is a simple compose service based on busybox Docker image described in a score.yaml file:

apiVersion: score.dev/v1b1

metadata:
  name: hello-world
  annotations:
    your.custom/annotation: value

containers:
  hello:
    image: busybox
    command: ["/bin/sh"]
    args: ["-c", "while true; do echo Hello World!; sleep 5; done"]

To convert score.yaml file into runnable compose.yaml use a score-compose CLI tool:

$ score-compose init
$ score-compose generate score.yaml

The init will create the .score-compose directory. The generate command will add the input score.yaml workload to the .score-compose/state.yaml state file and regenerate the output compose.yaml.

name: 01-hello
services:
    hello-world-hello:
        annotations:
            compose.score.dev/workload-name: hello-world
            your.custom/annotation: value
        command:
            - -c
            - while true; do echo Hello World!; sleep 5; done
        entrypoint:
            - /bin/sh
        hostname: hello-world
        image: busybox

See how the Score workload has been converted into a Compose service. With the container, command, image, and annotations.

This compose.yaml can then be run directly, and you can watch the output of the logs.

$ docker compose up -d
[+] Running 1/2
 ⠼ Network 01-hello_default                Created
 ✔ Container 01-hello-hello-world-hello-1  Started
$ docker logs -f 01-hello-hello-world-hello-1
Hello World!
Hello World!
Hello World!
Hello World!
^C%
$ docker compose down

If you make modifications to the score.yaml file, run score-compose generate score.yaml to regenerate the output.