Skip to content

Commit

Permalink
Merge pull request docker#2000 from jedevc/fix-race-container-creation
Browse files Browse the repository at this point in the history
docker-container: avoid fail if container conflict
  • Loading branch information
crazy-max authored Aug 21, 2023
2 parents 86ae8ea + d37d483 commit a97e164
Showing 1 changed file with 9 additions and 6 deletions.
15 changes: 9 additions & 6 deletions driver/docker-container/driver.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (
"github.com/docker/docker/api/types/mount"
"github.com/docker/docker/api/types/network"
dockerclient "github.com/docker/docker/client"
"github.com/docker/docker/errdefs"
dockerarchive "github.com/docker/docker/pkg/archive"
"github.com/docker/docker/pkg/idtools"
"github.com/docker/docker/pkg/stdcopy"
Expand Down Expand Up @@ -148,14 +149,16 @@ func (d *Driver) create(ctx context.Context, l progress.SubLogger) error {

}
_, err := d.DockerAPI.ContainerCreate(ctx, cfg, hc, &network.NetworkingConfig{}, nil, d.Name)
if err != nil {
return err
}
if err := d.copyToContainer(ctx, d.InitConfig.Files); err != nil {
if err != nil && !errdefs.IsConflict(err) {
return err
}
if err := d.start(ctx, l); err != nil {
return err
if err == nil {
if err := d.copyToContainer(ctx, d.InitConfig.Files); err != nil {
return err
}
if err := d.start(ctx, l); err != nil {
return err
}
}
if err := d.wait(ctx, l); err != nil {
return err
Expand Down

0 comments on commit a97e164

Please sign in to comment.