Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 在giblab-ci.yaml中,作业上的'service'是否会在给定相同'alias'的情况下生成单独的实例?_Docker_Gitlab Ci_Gitlab Ci Runner - Fatal编程技术网

Docker 在giblab-ci.yaml中,作业上的'service'是否会在给定相同'alias'的情况下生成单独的实例?

Docker 在giblab-ci.yaml中,作业上的'service'是否会在给定相同'alias'的情况下生成单独的实例?,docker,gitlab-ci,gitlab-ci-runner,Docker,Gitlab Ci,Gitlab Ci Runner,如果我在gitlab-ci.yaml中有两个作业具有相同的服务别名,那么gitlab是启动单个共享实例还是启动两个单独的实例 front_end_tests: image: docker:image stage: test services: - name: ${BRANCH_CONTAINER_IMAGE} alias: local-service-a admin_tests: image: docker:image stage: test ser

如果我在gitlab-ci.yaml中有两个作业具有相同的服务别名,那么gitlab是启动单个共享实例还是启动两个单独的实例

front_end_tests:
  image: docker:image
  stage: test
  services:
    - name: ${BRANCH_CONTAINER_IMAGE}
      alias: local-service-a

admin_tests:
  image: docker:image
  stage: test
  services:
    - name: ${BRANCH_CONTAINER_IMAGE}
      alias: local-service-b

默认情况下,每个作业都是独立的,因此每次都会重新下载构建和服务的映像以创建新容器

注意,这假设您正在Docker dind executor中使用默认Docker。Shell或Kubernetes执行者的行为可能不同

此外,Gitlab CI还提供了缓存机制,例如避免多次重新下载同一映像

有关更多信息,请查看


服务别名用于从作业内的同一映像创建多个容器。它们仅限于一项工作的范围。例如,您的应用程序使用两个数据库不同的mysql实例。您需要别名以避免名称冲突,请参阅。

示例中的作业处于同一阶段,因此它们是否共享服务实例?好的,我犯了一个错误,编写了阶段而不是作业。工作是独立的,服务仅限于一项工作的范围。如果不是这样的话,就业就无法与之平行。所以他们不会共享服务实例。