瀏覽代碼

Don't use custom name for one-off containers

Signed-off-by: Aanand Prasad <[email protected]>
Aanand Prasad 10 年之前
父節點
當前提交
1739448402
共有 2 個文件被更改,包括 7 次插入2 次删除
  1. 4 2
      compose/service.py
  2. 3 0
      tests/integration/service_test.py

+ 4 - 2
compose/service.py

@@ -577,8 +577,10 @@ class Service(object):
             for k in DOCKER_CONFIG_KEYS if k in self.options)
         container_options.update(override_options)
 
-        container_options['name'] = self.custom_container_name() \
-            or self.get_container_name(number, one_off)
+        if self.custom_container_name() and not one_off:
+            container_options['name'] = self.custom_container_name()
+        else:
+            container_options['name'] = self.get_container_name(number, one_off)
 
         if add_config_hash:
             config_hash = self.config_hash()

+ 3 - 0
tests/integration/service_test.py

@@ -706,6 +706,9 @@ class ServiceTest(DockerClientTestCase):
         container = create_and_start_container(service)
         self.assertEqual(container.name, 'my-web-container')
 
+        one_off_container = service.create_container(one_off=True)
+        self.assertNotEqual(one_off_container.name, 'my-web-container')
+
     def test_log_drive_invalid(self):
         service = self.create_service('web', log_driver='xxx')
         self.assertRaises(ValueError, lambda: create_and_start_container(service))