File: Singularity

package info (click to toggle)
singularity-container 4.0.3%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 21,672 kB
  • sloc: asm: 3,857; sh: 2,125; ansic: 1,677; awk: 414; makefile: 110; python: 99
file content (50 lines) | stat: -rw-r--r-- 789 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#
# First Stage
#
# Build go application using base image with golang installed
Bootstrap: docker
From: golang:1.12.3-alpine3.9
Stage: one


%post
        # prep environment
        export PATH="/go/bin:/usr/local/go/bin:$PATH"
        export HOME="/root"
        cd /root

        # insert source code, could also be copied from host with %files
        cat << EOF > hello.go
package main

import "fmt"

func main() {
    fmt.Printf("Hello World!\n")
}

EOF

        # build go application
        go build -o hello hello.go



#
# Second Stage
#
# Install go application into image without golang installed
Bootstrap: library
From: alpine:3.11.5
Stage: two


# install go binary from stage one
%files from one
        /root/hello /bin/hello


# run application
%runscript
        hello