Docker化的gitlab使用主机docker到CI
我目前正在学习gitlab-ci,并进行部署。 我的gitlab实例在Docker容器中运行,我想使用主机的docker来构build和部署映像。
有这样的方法来做到这一点?
是。 如果docker没有安装在图像中(目前的gitlab / gitlab-ce没有),你需要扩大图像的安装。 例如
FROM gitlab/gitlab-ce:8.14.4-ce.0 ENV DOCKER_API_VERSION 1.23 RUN apt-get update && apt-get install -y docker.io
ENV DOCKER_API_VERSION 1.23
用于确保安装之间的API兼容性。 在撰写本文时,您将从apt-get install
获得版本1.12.1
。 如果主机上有相同的版本,则可以省略环境variables。 如果主机上有1.11
,那么你需要它(如果你有其他的版本,你会得到一个错误信息,包含版本号)。
像这样构build图像
docker build -t myrepo/myorg/mygitlab:8.14.4-ce.0 .
然后像这样运行
docker run -d --name gitlab -v /var/run/docker.sock:/var/run/docker.sock myrepo/myorg/mygitlab:8.14.4-ce.0
您现在可以从容器中获得泊坞窗:
docker exec -it gitlab bash $~ docker ps