我目前正在学习gitlab-ci和部署。我的gitlab实例在Docker容器中运行,我想使用主机的Docker来构建和部署图像。
有这样的方法吗?
是。如果图像中未安装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
版本。如果主机上有相同的版本,则可以忽略环境变量。如果主机上的1.11
,则需要它(如果您有其他版本,您将获得一个错误消息,其中包含要使用的版本号)。
像这样构建图像
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:
docker exec -it gitlab bash
$~ docker ps