@@ -1475,7 +1475,7 @@ func initDockerConfigJSON(logf log.Func, magicDir magicdir.MagicDir, dockerConfi
1475
1475
if dockerConfigBase64 == "" {
1476
1476
return noop , nil
1477
1477
}
1478
- cfgPath := filepath .Join (magicDir . Path (), "config.json" )
1478
+ cfgPath := magicDir .Join ("config.json" )
1479
1479
decoded , err := base64 .StdEncoding .DecodeString (dockerConfigBase64 )
1480
1480
if err != nil {
1481
1481
return noop , fmt .Errorf ("decode docker config: %w" , err )
@@ -1497,9 +1497,16 @@ func initDockerConfigJSON(logf log.Func, magicDir magicdir.MagicDir, dockerConfi
1497
1497
return noop , fmt .Errorf ("write docker config: %w" , err )
1498
1498
}
1499
1499
logf (log .LevelInfo , "Wrote Docker config JSON to %s" , cfgPath )
1500
+ oldDockerConfig := os .Getenv ("DOCKER_CONFIG" )
1501
+ _ = os .Setenv ("DOCKER_CONFIG" , magicDir .Path ())
1502
+ newDockerConfig := os .Getenv ("DOCKER_CONFIG" )
1503
+ logf (log .LevelInfo , "Set DOCKER_CONFIG to %s" , newDockerConfig )
1500
1504
cleanup := func () error {
1501
1505
var cleanupErr error
1502
1506
cleanupOnce .Do (func () {
1507
+ // Restore the old DOCKER_CONFIG value.
1508
+ os .Setenv ("DOCKER_CONFIG" , oldDockerConfig )
1509
+ logf (log .LevelInfo , "Restored DOCKER_CONFIG to %s" , oldDockerConfig )
1503
1510
// Remove the Docker config secret file!
1504
1511
if cleanupErr = os .Remove (cfgPath ); err != nil {
1505
1512
if ! errors .Is (err , fs .ErrNotExist ) {
0 commit comments