【发布时间】:2016-12-15 17:30:36
【问题描述】:
我目前正在学习 gitlab-ci 和部署。 我的 gitlab 实例在 docker 容器中运行,我想使用主机的 docker 来构建和部署映像。
有这样的方法吗?
【问题讨论】:
标签: docker deployment continuous-integration gitlab
我目前正在学习 gitlab-ci 和部署。 我的 gitlab 实例在 docker 容器中运行,我想使用主机的 docker 来构建和部署映像。
有这样的方法吗?
【问题讨论】:
标签: docker deployment continuous-integration gitlab
是的。如果镜像中没有安装 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
【讨论】: