172 похожих чатов

Есть ли возможность избавиться от docker:dind сервиса при работе с

докером в gitlab-runner?
Хотелось бы немного ускорить джобу, так как сейчас занимает почти полторы минуты, в основном из-за этого сервиса
build-docker:
stage: Build
image: docker:latest
services:
- name: docker:dind
variables:
DOCKER_TLS_CERTDIR: ""
script:
- export DOCKER_HOST=tcp://docker:2375
- echo $REGISTRY_PASSWORD | docker login -u $REGISTRY_USER --password-stdin

7 ответов

36 просмотров

Можно кэширование использовать)

Simon-Kuzmichev Автор вопроса
Lil Zip
Можно кэширование использовать)

Типа того или можно как-то именно образ docker:dind закешировать? cache: - key: cache-$CI_COMMIT_REF_SLUG paths: - /var/lib/docker

Simon Kuzmichev
Типа того или можно как-то именно образ docker:din...

Сперва пуллим результат прошлого билда, билдим, пушим в реджистри гитлаба и в целевой реджистри variables: GITLAB_IMAGE_TAG_BASE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG ECR_DOCKER_IMAGE_NAME: $ECR_PREFIX/$ECR_POSTFIX:$CI_COMMIT_SHORT_SHA GITLAB_BUILDER_IMAGE_TAG: $GITLAB_IMAGE_TAG_BASE-builder GITLAB_RUNNER_IMAGE_TAG: $GITLAB_IMAGE_TAG_BASE-runner script: - echo "Authorize in Gitlab Container Registry" - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - echo "Pulling $GITLAB_BUILDER_IMAGE_TAG from Gitlab Container Registry" - docker pull $GITLAB_BUILDER_IMAGE_TAG - echo "Pulled $GITLAB_BUILDER_IMAGE_TAG from Gitlab Container Registry" - docker build --target builder --cache-from $GITLAB_BUILDER_IMAGE_TAG -t $GITLAB_BUILDER_IMAGE_TAG -f $DOCKERFILE_NAME . - docker push $GITLAB_BUILDER_IMAGE_TAG - echo "Pushed $GITLAB_BUILDER_IMAGE_TAG to Gitlab Container Registry" - docker build --target runner --cache-from $GITLAB_BUILDER_IMAGE_TAG -t $GITLAB_RUNNER_IMAGE_TAG -f $DOCKERFILE_NAME . - docker push $GITLAB_RUNNER_IMAGE_TAG - echo "Pushed $GITLAB_RUNNER_IMAGE_TAG to Gitlab Container Registry" - echo "Authorizing in AWS ECR" - cat config/docker_login | docker login --password-stdin --username AWS $ECR_PREFIX - echo "Tagging $GITLAB_RUNNER_IMAGE_TAG with $ECR_DOCKER_IMAGE_NAME tag" - docker tag $GITLAB_RUNNER_IMAGE_TAG $ECR_DOCKER_IMAGE_NAME - echo "Pushing $ECR_DOCKER_IMAGE_NAME to ECR Registry" - docker push $ECR_DOCKER_IMAGE_NAME - echo "Pushed $ECR_DOCKER_IMAGE_NAME to ECR Registry"

Simon-Kuzmichev Автор вопроса
Lil Zip
Сперва пуллим результат прошлого билда, билдим, пу...

Это стоит в отдельную джобу вынести? Используя docker команды без Docker in Docker получаю такую error: Post "http://docker:2375/v1.24/auth": dial tcp: lookup docker on 8.8.8.8:53: no such host

Simon Kuzmichev
Это стоит в отдельную джобу вынести? Используя doc...

https://pastebin.com/GdpbGXGt Вот тебе целиком рабочая на шаред раннерах пипелина

Simon-Kuzmichev Автор вопроса
Lil Zip
https://pastebin.com/GdpbGXGt Вот тебе целиком ра...

Добавил к себе, теперь для всех джоб используется service docker:bind, который пуллится и кешируется в первой самой джобе Это не совсем то, что я хотел... Есть ли способ вообще избежать использование конструкции docker in docker и не использовать docker:bind вовсе?

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта