【问题标题】:Dockerized gitlab use host docker to CIDockerized gitlab 使用主机 docker 到 CI
【发布时间】:2016-12-15 17:30:36
【问题描述】:

我目前正在学习 gitlab-ci 和部署。 我的 gitlab 实例在 docker 容器中运行,我想使用主机的 docker 来构建和部署映像。

有这样的方法吗?

【问题讨论】:

    标签: docker deployment continuous-integration gitlab


    【解决方案1】:

    是的。如果镜像中没有安装 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
    

    【讨论】:

    • 我试过了,但是没有用。我也应该在容器中安装 docker 吗?
    • 对不起,我没有试用 gitlab 镜像,只是假设它安装了 docker。答案已更新。
    • 是的,我更新了我的 Dockerfile 以添加 docker 安装并且它可以工作。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2021-05-04
    • 2019-05-09
    • 2020-03-08
    • 2019-05-09
    • 1970-01-01
    • 2019-12-13
    • 2016-11-19
    • 2020-08-13
    相关资源
    最近更新 更多