@@ -3,7 +3,9 @@ package service
33import (
44 "context"
55 "fmt"
6+ "io"
67 "log"
8+ "os"
79
810 "github.com/docker/docker/api/types"
911 "github.com/docker/docker/api/types/container"
@@ -26,7 +28,8 @@ func (d *dockerService) getContainerConfigs(ctx context.Context) (*container.Con
2628 return nil , fmt .Errorf ("error getting docker env configs: %v" , err )
2729 }
2830 return & container.Config {
29- Image : d .Image ,
31+ Image : d .Image ,
32+
3033 Env : dockerEnvs ,
3134 ExposedPorts : exposedPorts ,
3235 Labels : map [string ]string {
@@ -55,6 +58,7 @@ func (d *dockerService) deployDocker(ctx context.Context) error {
5558 if err != nil {
5659 return fmt .Errorf ("error while creating docker client: %v" , err )
5760 }
61+
5862 containerConfigs , err := d .getContainerConfigs (ctx )
5963 if err != nil {
6064 return fmt .Errorf ("error while getting container configs: %v" , err )
@@ -63,6 +67,14 @@ func (d *dockerService) deployDocker(ctx context.Context) error {
6367 if err != nil {
6468 return fmt .Errorf ("error while getting host configs: %v" , err )
6569 }
70+
71+ fmt .Println ("Pulling/Updating image..." )
72+ reader , err := client .ImagePull (ctx , containerConfigs .Image , types.ImagePullOptions {})
73+ if err != nil {
74+ return fmt .Errorf ("error while pulling image: %v" , err )
75+ }
76+ io .Copy (os .Stdout , reader )
77+
6678 fmt .Println ("Creating container..." )
6779 if d .ContainerName == "" {
6880 d .ContainerName = d .Name
0 commit comments