2017-09-12 4 views
0

Utilisation du docker golang sdk la méthode suivante peut être utilisée pour créer un conteneur et le lier à sa sortie stdout.Docker golang SDK - Comment rediriger stdout conteneur vers un fichier

resp, err := cli.ContainerCreate(ctx, &container.Config{ 
     Image:  "alpine", 
     Cmd:   []string{"echo", "Hello World"}, 
     AttachStdout: true, 
    }, nil, nil, "") 

Comment puis-je rediriger cette sortie vers un fichier à l'aide du SDK? J'utilise le SDK officiel de docker - github.com/docker/docker/client

+0

Lorsque vous demandez quelque chose sur la façon d'utiliser un package sur golang, il aide si vous fournissez le chemin complet d'importation (github ou autre) de ce paquet. –

Répondre

0

Vous pouvez utiliser quelque chose comme ci-dessous

out, err := cli.ContainerLogs(ctx, resp.ID, types.ContainerLogsOptions{ShowStdout: true}) 
    if err != nil { 
    panic(err) 
    } 

    f, err := os.Create("/tmp/clogs") 

    io.Copy(f, out) 

Mais assurez-vous de le faire après avoir démarré le conteneur, créez ne créer le conteneur et pas le démarrer