Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "context"
- "fmt"
- "io"
- "os"
- "github.com/docker/docker/api/types"
- "github.com/docker/docker/api/types/container"
- "github.com/docker/docker/client"
- )
- func main() {
- cli, err := client.NewEnvClient()
- if err != nil {
- panic(err)
- }
- defer cli.Close()
- ctx := context.Background()
- _, err = cli.ImagePull(ctx, "alpine", types.ImagePullOptions{})
- if err != nil {
- panic(err)
- }
- containerConfig := &container.Config{
- Image: "alpine",
- Cmd: []string{"echo", "hello world"},
- }
- resp, err := cli.ContainerCreate(ctx, containerConfig, nil, nil, "")
- if err != nil {
- panic(err)
- }
- if err := cli.ContainerStart(ctx, resp.ID, types.ContainerStartOptions{}); err != nil {
- panic(err)
- }
- statusCode, err := cli.ContainerWait(ctx, resp.ID)
- if err != nil {
- panic(err)
- }
- fmt.Println(statusCode)
- out, err := cli.ContainerLogs(ctx, resp.ID, types.ContainerLogsOptions{ShowStdout: true})
- if err != nil {
- panic(err)
- }
- io.Copy(os.Stdout, out)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement