在极狐 GitLab 流水线中 使用 Docker in Docker方式构建容器镜像 是非常方便的;
有时,我们想在 Dockerfile 里使用极狐 GitLab 流水线里的变量该如何实现呢?方法是使用 docker build 的 --build-arg
参数。以下是示例:
#.gitlab-ci.yml
build:
image: docker:19.03.12
stage: build
services:
- name: docker:19.03.12-dind
alias: docker
variables:
DOCKER_DRIVER: overlay2
DOCKER_HOST: tcp://docker:2375
DOCKER_TLS_CERTDIR: ""
script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY_IMAGE
- echo "${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}"
- docker build --build-arg MY_PROXY=${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX} .
# Dockerfile
ARG MY_PROXY=‘library’
FROM ${MY_PROXY}/adoptopenjdk/openjdk11:alpine-jre
CMD ["ping","127.0.0.1"]