docker - 如何配置 gitlab ci 以使用 docker:dind-rootless 进行 docker build?
问题描述
我正在尝试使用 docker:dind-rootless 在 GitLab-ci 中构建我的图像。不幸的是它不能正常工作,但是如果我将服务更改为 docker:dind,它工作得很好!?
.dockerization: &dockerization
before_script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
# - mkdir -p "$MOUNT_POINT"
image: docker:19.03.12
script:
- docker pull $CI_REGISTRY_IMAGE/$IMAGE_NAME:latest || true
- docker build --cache-from $CI_REGISTRY_IMAGE/$IMAGE_NAME:latest -f $DOCKERFILE --tag $CI_REGISTRY_IMAGE/$IMAGE_NAME:$CI_COMMIT_SHA --tag $CI_REGISTRY_IMAGE/$IMAGE_NAME:latest .
- docker push $CI_REGISTRY_IMAGE/$IMAGE_NAME:$CI_COMMIT_SHA
- docker push $CI_REGISTRY_IMAGE/$IMAGE_NAME:latest
# docker run -v "$MOUNT_POINT:/mnt" $IMAGE_NAME /mnt/script/to/run/tests
services:
- docker:19.03.12-dind # <= HOW docker:19.03.12-dind-rootless !?
stage: dockerization
variables:
DOCKER_DRIVER: overlay2
DOCKER_HOST: tcp://localhost:2375
DOCKER_TLS_CERTDIR: ""
# MOUNT_POINT: $CI_PROJECT_DIR/mnt
extends:
- .default-rule
when: manual
解决方案
推荐阅读
- java - 如何在 neo4j 嵌入式应用程序中注册“apoc.algo.dijkstra”?
- neo4j - Neo4J - 获取没有重复关系类型或节点标签的所有路径
- php - 警告:模块 mcrypt ini 文件不存在,但已安装
- ajax - 无法将 JSON 数据从 Django 发送到 javascript
- c++ - 为什么我的析构函数被多次调用?
- javascript - 我的一些条件被忽视了
- django - 更改 django 模板中的字符串?
- python - 在 NumPy 和 GSL 之间共享随机生成器状态
- php - Symfony 中允许空值但不允许空字符串
- c++ - boost::spirit::qi::phrase_parser() 进入 std::map 错误