@@ -39,6 +39,7 @@ package main
3939import (
4040 " context"
4141 " io"
42+ " log"
4243 " os"
4344
4445 " github.com/moby/moby/api/pkg/stdcopy"
@@ -48,15 +49,15 @@ import (
4849
4950func 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
163165func 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
231234import (
232235 " context"
233236 " fmt"
237+ " log"
234238
235239 " github.com/moby/moby/client"
236240)
237241
238242func 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
300304import (
301305 " context"
302306 " fmt"
307+ " log"
303308
304309 " github.com/moby/moby/client"
305310)
306311
307312func 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
372377import (
373378 " context"
374379 " io"
380+ " log"
375381 " os"
376382
377383 " github.com/moby/moby/client"
378384)
379385
380386func 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
434440import (
435441 " context"
436442 " fmt"
443+ " log"
437444
438445 " github.com/moby/moby/client"
439446)
440447
441448func 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
495502import (
496503 " context"
497504 " io"
505+ " log"
498506 " os"
499507
500508 " github.com/moby/moby/client"
501509)
502510
503511func 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
562569import (
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
573580func 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
652657import (
653658 " context"
654659 " fmt"
660+ " log"
655661
656662 " github.com/moby/moby/api/types/container"
657663 " github.com/moby/moby/client"
658664)
659665
660666func 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