@@ -240,16 +240,6 @@ func createContainer(ctx context.Context, dockerCli command.Cli, containerCfg *c
240240 }
241241 }
242242
243- pullAndTagImage := func () error {
244- if err := pullImage (ctx , dockerCli , config .Image , options ); err != nil {
245- return err
246- }
247- if taggedRef , ok := namedRef .(reference.NamedTagged ); ok && trustedRef != nil {
248- return trust .TagTrusted (ctx , dockerCli .Client (), dockerCli .Err (), trustedRef , taggedRef )
249- }
250- return nil
251- }
252-
253243 const dockerConfigPathInContainer = "/run/secrets/docker/config.json"
254244 var apiSocketCreds map [string ]types.AuthConfig
255245
@@ -305,7 +295,7 @@ func createContainer(ctx context.Context, dockerCli command.Cli, containerCfg *c
305295 // what they're doing and don't inject the creds.
306296 if ! envvarPresent {
307297 // Resolve this here for later, ensuring we error our before we create the container.
308- creds , err := dockerCli . ConfigFile (). GetAllCredentials ( )
298+ creds , err := readCredentials ( dockerCli )
309299 if err != nil {
310300 return "" , fmt .Errorf ("resolving credentials failed: %w" , err )
311301 }
@@ -331,6 +321,16 @@ func createContainer(ctx context.Context, dockerCli command.Cli, containerCfg *c
331321 platform = & p
332322 }
333323
324+ pullAndTagImage := func () error {
325+ if err := pullImage (ctx , dockerCli , config .Image , options ); err != nil {
326+ return err
327+ }
328+ if taggedRef , ok := namedRef .(reference.NamedTagged ); ok && trustedRef != nil {
329+ return trust .TagTrusted (ctx , dockerCli .Client (), dockerCli .Err (), trustedRef , taggedRef )
330+ }
331+ return nil
332+ }
333+
334334 if options .pull == PullImageAlways {
335335 if err := pullAndTagImage (); err != nil {
336336 return "" , err
0 commit comments