我对dockerrunner的docker和gitlab-ci还是陌生的。
泊坞窗运行器工作正常,除一件事之外,我都同意。似乎dockerRunner无法看到本地可用的图像。这意味着我可能必须创建一个自定义注册表,除非有一种方法可以使docker命令检查主机docker。
我试图实现的目标是:
Dockerfile
并获取其他一些git存储库以Dockerfile
创建一个新的docker映像。换句话说,我正在尝试生成一个docker映像,并在主机的dockerd服务中启动/替换现有服务。
现在这就是我的想法,但是由于数据没有从一项工作传递到另一项工作,所以它不起作用。即使工作可以进行,我也怀疑我创建的docker服务是否可以从外部访问。
stages:
- test
- prepare
- build
# Build the Dockerfile
prepare_script:
stage: prepare
image: debian:stretch
script:
- apt-get update
- apt-get install -y git python3
- python3 prepare_project.py
# Build and deploy the docker image
build:
variables:
DOCKER_HOST: tcp://docker:2375/
DOCKER_DRIVER: overlay2
image: docker:stable
services:
- docker:dind
stage: build
script:
- docker build -t my-project .
- docker run --add-host db:172.17.42.1 -d --name my-project-inst --restart always -p 8069:8069 myproject
如何使用gitlab-ci在主机docker服务中自动部署docker映像?
我要解决的问题是生成docker文件,以便可以动态获取git存储库和子模块,而无需手动修改Dockerfile。