• GitLab CI runner can't connect to tcp://localhost:2375 in kubernetes


    报错的.gitlab-ci.yml配置如下

    image: docker:latest
    services:
      - docker:dind
    variables:
      DOCKER_HOST: tcp://localhost:2375
    stages:
      - package
    package:
      stage: package
      script:   
        - docker login -u "admin" -p "Harbor12345" 192.168.1.100
        - docker build -t 192.168.1.100/development/example-nodepm2:0.1 .
        - docker push 192.168.1.100/development/example-nodepm2:0.1
        - docker rmi 192.168.1.100/development/example-nodepm2:0.1
    

      

    报错:Cannot connect to the Docker daemon at tcp://localhost:2375. Is the docker daemon running?
    ERROR: Job failed: command terminated with exit code 1

    环境:harbor+gitlab ci runner+kubernetes 构建ci/cd流程

    Dockerfile 

    FROM keymetrics/pm2:latest-alpine
    
    # Bundle APP files
    RUN mkdir -p /home/Service
    WORKDIR /home/Service
    COPY . /home/Service
    #COPY src src/
    #COPY package.json .
    #COPY pm2.json .
    
    # Install app dependencies
    ENV NPM_CONFIG_LOGLEVEL warn
    RUN npm install --production
    
    # Show current folder structure in logs
    #RUN ls -al -R
    EXPOSE 3000
    CMD [ "pm2-docker", "start", "pm2.json" ]
    

      

    可用的.gitlab-ci.yml配置如下(主要原因是因为services服务使用的docker版本问题

    image: docker:stable
    services:
      - name: docker:18.09-dind
        command: ["--insecure-registry=192.168.1.100"]
    
    variables:
      DOCKER_HOST: tcp://localhost:2375
      DOCKER_DRIVER: overlay2
    
    before_script:
      - docker search node # just to test
      - docker info # just to test
    
    build:
      stage: build
      script:
        - docker login -u "admin" -p "Harbor12345" 192.168.1.100
        - docker build -t 192.168.1.100/development/example-nodepm2:0.1 .
        - docker push 192.168.1.100/development/example-nodepm2:0.1
        - docker rmi 192.168.1.100/development/example-nodepm2:0.1
    
    --insecure-registry参数解决harbor走http协议问题,如配置了https则不需要传command参数


     

    参考:https://stackoverflow.com/questions/55065490/gitlab-ci-runner-cant-connect-to-tcp-localhost2375-in-kubernetes

    https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#using-the-overlayfs-driver

     

  • 相关阅读:
    java生成验证码
    springmvc笔记(来自慕课网)
    angularJs编写多指令的情况
    四年前端开发的迷茫.
    angularJs的ui-router总结
    grunt构建前端自动化的开发环境
    socket传送文件
    socket--粘包
    socket--接受大数据
    动态导入模块
  • 原文地址:https://www.cnblogs.com/caidingyu/p/11275058.html
Copyright © 2020-2023  润新知