Gitlab CI/CD笔记-第三天-使用主机docker in docker 进行构建并push镜像。

一、啥叫docker in docker

就是允许的镜像里头有一个docker,但这个docekr镜像只有docker的cli和/var/lib/docker.sock的套接字,没有允许build.然后里头又运行了一个docker,这个docker有build的能力,此时构建时就是里头的docker使用外部的docker-/var/lib/docker.sock的套接字进行build镜像。

二、场景

1、使用docker 执行器 runner的gitlab-ci

2、使用k8s执行器 runner的gitlab-ci

3、你的gitlab-ci中需要使用容器进行build构建镜像时。

4、需要使用容器的弹性扩容时。

三、Gitlab-ci如下:替换其中加粗的部分直接用。

stages: # List of stages for jobs, and their order of execution

  • build-image

build-image-job:

stage: build-image

image: docker:19.03.13

tags:

  • docker-dind

variables:

#CI_REGISTRY_PROJETY: harbor.com:543/spring_boot-ci

#DOCKER_IMAGE_NAME: ci-java-web

#DOCKER_IMAGE_TAG: v1

DOCKER_REGISTRY: <YOUR--REGISTRY>

DOCKER_REGISTRY_PASS: <YOUR--PASSWD>

DOCKER_REGISTRY_USER: <YOUR--USER>

DOCKER_TLS_CERTDIR: "/certs"

services:

  • name: docker:19.03.13-dind --

alias: docker --必须写,不然报错

before_script:

  • echo "DOCKER_REGISTRY_PASS" \| docker login DOCKER_REGISTRY --username $DOCKER_REGISTRY_USER --password-stdin

script:

  • docker pull <YOUR--REGISTRY>-image:tag

  • docker image ls

  • docker tag <LOCAL-YOUR--REGISTRY>-image:tag <REMOTE-YOUR--REGISTRY>-image:tag

  • docker push <REMOTE-YOUR--REGISTRY>-image:tag

相关推荐
张同学037 小时前
220V 转 12V/5V 电源输入电路设计笔记
笔记·嵌入式硬件·硬件工程
深蓝海拓8 小时前
S7-1500PLC学习笔记:MOVE_BLK、MOVE_BLK_VARIANT、BLKMOV的区别
笔记·学习·plc
雨浓YN9 小时前
OPC UA 通讯开发笔记 - 基于本地dll文件
windows·笔记
深蓝海拓10 小时前
S7-1500学习笔记:用户自定义数据类型(UDT)
笔记·学习·plc
罗罗攀10 小时前
PyTorch学习笔记|神经网络的损失函数
人工智能·pytorch·笔记·神经网络·学习
tq108611 小时前
价值:社会对劳动所产生的效用增量形成的局部共识
笔记
A923A12 小时前
【小兔鲜电商前台 | 项目笔记】第八天
前端·vue.js·笔记·项目·小兔鲜
猹叉叉(学习版)13 小时前
【系统分析师_知识点整理】 15.数学计算与知识产权
笔记·软考·知识产权·系统分析师
風清掦15 小时前
【江科大STM32学习笔记-10】I2C通信协议 - 10.1 软件I2C读写MPU6050
笔记·stm32·单片机·嵌入式硬件·物联网·学习
MwEUwQ3Gx15 小时前
常见Linux权限提升笔记
linux·运维·笔记