Просмотр исходного кода

add labels to CLIbuilder

Signed-off-by: luHub <[email protected]>
luHub 5 лет назад
Родитель
Сommit
1a688289b4
2 измененных файлов с 18 добавлено и 0 удалено
  1. 1 0
      compose/service.py
  2. 17 0
      tests/integration/service_test.py

+ 1 - 0
compose/service.py

@@ -1792,6 +1792,7 @@ class _CLIBuilder(object):
         command_builder.add_list("--cache-from", cache_from)
         command_builder.add_arg("--file", dockerfile)
         command_builder.add_flag("--force-rm", forcerm)
+        command_builder.add_params("--label", labels)
         command_builder.add_arg("--memory", container_limits.get("memory"))
         command_builder.add_flag("--no-cache", nocache)
         command_builder.add_arg("--progress", self._progress)

+ 17 - 0
tests/integration/service_test.py

@@ -985,6 +985,23 @@ class ServiceTest(DockerClientTestCase):
         self.addCleanup(self.client.remove_image, service.image_name)
         assert self.client.inspect_image('composetest_web')
 
+    def test_build_cli_with_build_labels(self):
+        base_dir = tempfile.mkdtemp()
+        self.addCleanup(shutil.rmtree, base_dir)
+
+        with open(os.path.join(base_dir, 'Dockerfile'), 'w') as f:
+            f.write("FROM busybox\n")
+
+        service = self.create_service('web',
+                                      build={
+                                          'context': base_dir,
+                                          'labels': {'com.docker.compose.test': 'true'}},
+                                      )
+        service.build(cli=True)
+        self.addCleanup(self.client.remove_image, service.image_name)
+        image = self.client.inspect_image('composetest_web')
+        assert image['Config']['Labels']['com.docker.compose.test']
+
     def test_up_build_cli(self):
         base_dir = tempfile.mkdtemp()
         self.addCleanup(shutil.rmtree, base_dir)