Skip to content

Commit 651a0b5

Browse files
authored
Merge pull request #24338 from thaJeztah/update_api_examples
engine: slight tweaks to client sdk examples
2 parents b5bd38f + a2eb5a8 commit 651a0b5

1 file changed

Lines changed: 52 additions & 46 deletions

File tree

content/reference/api/engine/sdk/examples.md

Lines changed: 52 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ package main
3939
import (
4040
"context"
4141
"io"
42+
"log"
4243
"os"
4344

4445
"github.com/moby/moby/api/pkg/stdcopy"
@@ -48,15 +49,15 @@ import (
4849

4950
func main() {
5051
ctx := context.Background()
51-
apiClient, err := client.New(client.FromEnv)
52+
apiClient, err := client.New(client.FromEnv, client.WithUserAgent("my-application/1.0.0"))
5253
if err != nil {
53-
panic(err)
54+
log.Fatal(err)
5455
}
5556
defer apiClient.Close()
5657

5758
reader, err := apiClient.ImagePull(ctx, "docker.io/library/alpine", client.ImagePullOptions{})
5859
if err != nil {
59-
panic(err)
60+
log.Fatal(err)
6061
}
6162

6263
defer reader.Close()
@@ -73,25 +74,25 @@ func main() {
7374
Image: "alpine",
7475
})
7576
if err != nil {
76-
panic(err)
77+
log.Fatal(err)
7778
}
7879

7980
if _, err := apiClient.ContainerStart(ctx, resp.ID, client.ContainerStartOptions{}); err != nil {
80-
panic(err)
81+
log.Fatal(err)
8182
}
8283

8384
wait := apiClient.ContainerWait(ctx, resp.ID, client.ContainerWaitOptions{})
8485
select {
8586
case err := <-wait.Error:
8687
if err != nil {
87-
panic(err)
88+
log.Fatal(err)
8889
}
8990
case <-wait.Result:
9091
}
9192

9293
out, err := apiClient.ContainerLogs(ctx, resp.ID, client.ContainerLogsOptions{ShowStdout: true})
9394
if err != nil {
94-
panic(err)
95+
log.Fatal(err)
9596
}
9697

9798
stdcopy.StdCopy(os.Stdout, os.Stderr, out)
@@ -155,37 +156,39 @@ import (
155156
"context"
156157
"fmt"
157158
"io"
159+
"log"
158160
"os"
159161

160162
"github.com/moby/moby/client"
161163
)
162164

163165
func main() {
164166
ctx := context.Background()
165-
apiClient, err := client.New(client.FromEnv)
167+
apiClient, err := client.New(client.FromEnv, client.WithUserAgent("my-application/1.0.0"))
166168
if err != nil {
167-
panic(err)
169+
log.Fatal(err)
168170
}
169171
defer apiClient.Close()
170172

171173
imageName := "bfirsh/reticulate-splines"
172174

173175
out, err := apiClient.ImagePull(ctx, imageName, client.ImagePullOptions{})
174176
if err != nil {
175-
panic(err)
177+
log.Fatal(err)
176178
}
177179
defer out.Close()
180+
178181
io.Copy(os.Stdout, out)
179182

180183
resp, err := apiClient.ContainerCreate(ctx, client.ContainerCreateOptions{
181184
Image: imageName,
182185
})
183186
if err != nil {
184-
panic(err)
187+
log.Fatal(err)
185188
}
186189

187190
if _, err := apiClient.ContainerStart(ctx, resp.ID, client.ContainerStartOptions{}); err != nil {
188-
panic(err)
191+
log.Fatal(err)
189192
}
190193

191194
fmt.Println(resp.ID)
@@ -231,21 +234,22 @@ package main
231234
import (
232235
"context"
233236
"fmt"
237+
"log"
234238

235239
"github.com/moby/moby/client"
236240
)
237241

238242
func main() {
239243
ctx := context.Background()
240-
apiClient, err := client.New(client.FromEnv)
244+
apiClient, err := client.New(client.FromEnv, client.WithUserAgent("my-application/1.0.0"))
241245
if err != nil {
242-
panic(err)
246+
log.Fatal(err)
243247
}
244248
defer apiClient.Close()
245249

246250
containers, err := apiClient.ContainerList(ctx, client.ContainerListOptions{})
247251
if err != nil {
248-
panic(err)
252+
log.Fatal(err)
249253
}
250254

251255
for _, container := range containers.Items {
@@ -300,28 +304,29 @@ package main
300304
import (
301305
"context"
302306
"fmt"
307+
"log"
303308

304309
"github.com/moby/moby/client"
305310
)
306311

307312
func main() {
308313
ctx := context.Background()
309-
apiClient, err := client.New(client.FromEnv)
314+
apiClient, err := client.New(client.FromEnv, client.WithUserAgent("my-application/1.0.0"))
310315
if err != nil {
311-
panic(err)
316+
log.Fatal(err)
312317
}
313318
defer apiClient.Close()
314319

315320
containers, err := apiClient.ContainerList(ctx, client.ContainerListOptions{})
316321
if err != nil {
317-
panic(err)
322+
log.Fatal(err)
318323
}
319324

320325
for _, container := range containers.Items {
321326
fmt.Print("Stopping container ", container.ID[:10], "... ")
322327
noWaitTimeout := 0 // to not wait for the container to exit gracefully
323328
if _, err := apiClient.ContainerStop(ctx, container.ID, client.ContainerStopOptions{Timeout: &noWaitTimeout}); err != nil {
324-
panic(err)
329+
log.Fatal(err)
325330
}
326331
fmt.Println("Success")
327332
}
@@ -372,24 +377,25 @@ package main
372377
import (
373378
"context"
374379
"io"
380+
"log"
375381
"os"
376382

377383
"github.com/moby/moby/client"
378384
)
379385

380386
func main() {
381387
ctx := context.Background()
382-
apiClient, err := client.New(client.FromEnv)
388+
apiClient, err := client.New(client.FromEnv, client.WithUserAgent("my-application/1.0.0"))
383389
if err != nil {
384-
panic(err)
390+
log.Fatal(err)
385391
}
386392
defer apiClient.Close()
387393

388394
options := client.ContainerLogsOptions{ShowStdout: true}
389395
// Replace this ID with a container that really exists
390396
out, err := apiClient.ContainerLogs(ctx, "f1064a8a4c82", options)
391397
if err != nil {
392-
panic(err)
398+
log.Fatal(err)
393399
}
394400

395401
io.Copy(os.Stdout, out)
@@ -434,21 +440,22 @@ package main
434440
import (
435441
"context"
436442
"fmt"
443+
"log"
437444

438445
"github.com/moby/moby/client"
439446
)
440447

441448
func main() {
442449
ctx := context.Background()
443-
apiClient, err := client.New(client.FromEnv)
450+
apiClient, err := client.New(client.FromEnv, client.WithUserAgent("my-application/1.0.0"))
444451
if err != nil {
445-
panic(err)
452+
log.Fatal(err)
446453
}
447454
defer apiClient.Close()
448455

449456
images, err := apiClient.ImageList(ctx, client.ImageListOptions{})
450457
if err != nil {
451-
panic(err)
458+
log.Fatal(err)
452459
}
453460

454461
for _, image := range images.Items {
@@ -495,24 +502,24 @@ package main
495502
import (
496503
"context"
497504
"io"
505+
"log"
498506
"os"
499507

500508
"github.com/moby/moby/client"
501509
)
502510

503511
func main() {
504512
ctx := context.Background()
505-
apiClient, err := client.New(client.FromEnv)
513+
apiClient, err := client.New(client.FromEnv, client.WithUserAgent("my-application/1.0.0"))
506514
if err != nil {
507-
panic(err)
515+
log.Fatal(err)
508516
}
509517
defer apiClient.Close()
510518

511519
out, err := apiClient.ImagePull(ctx, "alpine", client.ImagePullOptions{})
512520
if err != nil {
513-
panic(err)
521+
log.Fatal(err)
514522
}
515-
516523
defer out.Close()
517524

518525
io.Copy(os.Stdout, out)
@@ -561,39 +568,37 @@ package main
561568

562569
import (
563570
"context"
564-
"encoding/base64"
565-
"encoding/json"
566571
"io"
572+
"log"
567573
"os"
568574

575+
"github.com/moby/moby/api/pkg/authconfig"
569576
"github.com/moby/moby/api/types/registry"
570577
"github.com/moby/moby/client"
571578
)
572579

573580
func main() {
574581
ctx := context.Background()
575-
apiClient, err := client.New(client.FromEnv)
582+
apiClient, err := client.New(client.FromEnv, client.WithUserAgent("my-application/1.0.0"))
576583
if err != nil {
577-
panic(err)
584+
log.Fatal(err)
578585
}
579586
defer apiClient.Close()
580587

581-
authConfig := registry.AuthConfig{
588+
authStr, err := authconfig.Encode(registry.AuthConfig{
582589
Username: "username",
583590
Password: "password",
584-
}
585-
encodedJSON, err := json.Marshal(authConfig)
591+
})
586592
if err != nil {
587-
panic(err)
593+
log.Fatal(err)
588594
}
589-
authStr := base64.URLEncoding.EncodeToString(encodedJSON)
590595

591596
out, err := apiClient.ImagePull(ctx, "alpine", client.ImagePullOptions{RegistryAuth: authStr})
592597
if err != nil {
593-
panic(err)
598+
log.Fatal(err)
594599
}
595-
596600
defer out.Close()
601+
597602
io.Copy(os.Stdout, out)
598603
}
599604
```
@@ -652,16 +657,17 @@ package main
652657
import (
653658
"context"
654659
"fmt"
660+
"log"
655661

656662
"github.com/moby/moby/api/types/container"
657663
"github.com/moby/moby/client"
658664
)
659665

660666
func main() {
661667
ctx := context.Background()
662-
apiClient, err := client.New(client.FromEnv)
668+
apiClient, err := client.New(client.FromEnv, client.WithUserAgent("my-application/1.0.0"))
663669
if err != nil {
664-
panic(err)
670+
log.Fatal(err)
665671
}
666672
defer apiClient.Close()
667673

@@ -672,25 +678,25 @@ func main() {
672678
Image: "alpine",
673679
})
674680
if err != nil {
675-
panic(err)
681+
log.Fatal(err)
676682
}
677683

678684
if _, err := apiClient.ContainerStart(ctx, createResp.ID, client.ContainerStartOptions{}); err != nil {
679-
panic(err)
685+
log.Fatal(err)
680686
}
681687

682688
wait := apiClient.ContainerWait(ctx, createResp.ID, client.ContainerWaitOptions{})
683689
select {
684690
case err := <-wait.Error:
685691
if err != nil {
686-
panic(err)
692+
log.Fatal(err)
687693
}
688694
case <-wait.Result:
689695
}
690696

691697
commitResp, err := apiClient.ContainerCommit(ctx, createResp.ID, client.ContainerCommitOptions{Reference: "helloworld"})
692698
if err != nil {
693-
panic(err)
699+
log.Fatal(err)
694700
}
695701

696702
fmt.Println(commitResp.ID)

0 commit comments

Comments
 (0)