-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker.go
36 lines (34 loc) · 1.05 KB
/
docker.go
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
package library
import (
"fmt"
)
// Initiate Docker Function
func InitiateDockerFunction(flags Flag) {
/**
* Stop and Remove Container
* - Equivalent to : `docker stop {identifier} && docker rm {identifier}`
*/
if *flags.Docker && *flags.Prune && *flags.ID != "" {
fmt.Println("📟 Stop and Remove Container")
snr := fmt.Sprintf("docker stop %s && docker rm %s", *flags.ID, *flags.ID)
cmd := [...]string{"bash", "-c", snr}
fmt.Println(ExecCommand(cmd[:]...))
}
/**
* Compose restart (down & up)
* - Equivalent to : `docker-compose down && docker-compose up -d`
*/
if *flags.DockerCompose && *flags.Restart {
fmt.Println("📟 Compose restart (down & up)")
filename := *flags.Filename
dockercmd := ""
if len(*flags.Filename) > 0 {
dockercmd = fmt.Sprintf("docker-compose -f %s down && docker-compose -f %s up -d;", filename[0], filename[0])
} else {
dockercmd = "docker-compose down && docker-compose up -d;"
}
fmt.Println(dockercmd)
cmd := [...]string{"bash", "-c", dockercmd}
fmt.Println(ExecCommand(cmd[:]...))
}
}