Я не могу использовать команды Docker в изображении Google / Cloud-SDK - PullRequest
0 голосов
/ 30 октября 2018

Я запускаю сценарий yml в gitlab, где я использую gitlab-ci.yaml для создания образа докера и отправки его в реестр Google. Где, как я не могу запустить команды. Вот мой код gitlab.

image: docker:latest
services:
  - docker:dind

variables:
  SPRING_PROFILES_ACTIVE: gitlab-ci

stages:
  - build
  - imagecreation
  - deploy

maven-build:
  image: maven:3-jdk-8
  stage: build
  script: "mvn package -B"
  artifacts:
    paths:
      - target/*.war

docker-build:
  image: google/cloud-sdk
  stage: imagecreation
  script:
  - docker build -t gcr.io/project-test-to/counter .
  - gcloud docker -- push gcr.io/project-test-to/counter

k8s-deploy:
  image: google/cloud-sdk
  stage: deploy
  script:
  - echo "$GOOGLE_KEY" > key.json
  - gcloud auth activate-service-account --key-file key.json
  - gcloud config unset container/use_client_certificate
  - gcloud container clusters get-credentials gitlab --zone us-central1-a --project project-test-to
  - kubectl apply -f deployment.yaml

Это ошибка, которую я получаю. Не удается подключиться к демону Docker в unix: ///var/run/docker.sock. Работает ли демон Docker? ОШИБКА: задание не выполнено: код выхода 1

Как мне запустить команды докера на этом изображении? (Google / cloud-sdk)

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Следуя исходному ответу, команда "gcloud docker" устарела, как уже упоминалось. Чтобы отправить изображение в реестр контейнеров, вам нужно просто выполнить следующее:

$ docker push

Я бы также предложил настроить команду docker, чтобы вы могли запускать ее без полномочий root, выполнив шаги, упомянутые в этой документации .

0 голосов
/ 30 октября 2018

Поскольку команда gcloud docker просто передает команды в докер, а образ докера google/cloud-sdk, похоже, не поставляется с установленным докером, вам может понадобиться смонтировать хост-сокет в контейнер следующим образом:

docker-build: image: google/cloud-sdk stage: imagecreation script: - docker build -t gcr.io/project-test-to/counter . - gcloud docker -- push gcr.io/project-test-to/counter volume: - "/var/run/docker.sock:/var/run/docker.sock"

Пожалуйста, имейте в виду, что команда gcloud docker is устарела .

...