Browse Source

Merge pull request #961 from gtardif/compose_container_labels

Add container labels to improve compatibility with docker-compose
Guillaume Tardif 5 years ago
parent
commit
426b333dd8
2 changed files with 13 additions and 1 deletions
  1. 5 0
      local/compose.go
  2. 8 1
      local/labels.go

+ 5 - 0
local/compose.go

@@ -363,10 +363,15 @@ func getContainerCreateOptions(p *types.Project, s types.ServiceConfig, number i
 	if err != nil {
 		return nil, nil, nil, err
 	}
+	//TODO: change oneoffLabel value for containers started with `docker compose run`
 	labels := map[string]string{
 		projectLabel:         p.Name,
 		serviceLabel:         s.Name,
+		versionLabel:         ComposeVersion,
+		oneoffLabel:          "False",
 		configHashLabel:      hash,
+		workingDirLabel:      p.WorkingDir,
+		configFilesLabel:     strings.Join(p.ConfigNames(), ","),
 		containerNumberLabel: strconv.Itoa(number),
 	}
 

+ 8 - 1
local/labels.go

@@ -25,10 +25,17 @@ import (
 )
 
 const (
+	containerNumberLabel = "com.docker.compose.container-number"
+	oneoffLabel          = "com.docker.compose.oneoff"
 	projectLabel         = "com.docker.compose.project"
+	workingDirLabel      = "com.docker.compose.project.working_dir"
+	configFilesLabel     = "com.docker.compose.project.config_files"
 	serviceLabel         = "com.docker.compose.service"
+	versionLabel         = "com.docker.compose.version"
 	configHashLabel      = "com.docker.compose.config-hash"
-	containerNumberLabel = "com.docker.compose.container-number"
+
+	//ComposeVersion Compose version
+	ComposeVersion = "1.0-alpha"
 )
 
 func projectFilter(projectName string) filters.KeyValuePair {