首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用gitlab ci停靠库安装程序部署码头容器

使用gitlab ci停靠库安装程序部署码头容器
EN

Stack Overflow用户
提问于 2018-12-16 13:06:26
回答 1查看 1.4K关注 0票数 2

我目前正在尝试建立一个gitlab ci管道。我选择了跟码头工人的设置一起去。我已经获得了ci管道,可以构建这个停靠映像并将其推送到gitlab的注册中心,但我似乎无法使用以下配置部署它:

.gitlab-ci.yml

代码语言:javascript
复制
image: docker:stable
services:
- docker:dind

stages:
- build
- deploy

variables:
  DOCKER_HOST: tcp://docker:2375
  DOCKER_DRIVER: overlay2
  TEST_IMAGE: registry.gitlab.com/user/repo.nl:$CI_COMMIT_REF_SLUG
  RELEASE_IMAGE: registry.gitlab.com/user/repo.nl:release

before_script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker info

build:
  stage: build
  tags:
  - build
  script:
  - docker build --pull -t $TEST_IMAGE .
  - docker push $TEST_IMAGE
  only:
  - branches

deploy:
  stage: deploy
  tags:
  - deploy
  script:
  - docker pull $TEST_IMAGE
  - docker tag $TEST_IMAGE $RELEASE_IMAGE
  - docker push $RELEASE_IMAGE
  - docker run -d --name "review-$CI_COMMIT_REF_SLUG" -p "80:80" $RELEASE_IMAGE
  only:
  - master
  when: manual

当我运行deploy操作时,我实际上在日志中得到了以下反馈,但是当我去检查服务器时,没有容器在运行。

代码语言:javascript
复制
$ docker run -d --name "review-$CI_COMMIT_REF_SLUG" -p "80:80" $RELEASE_IMAGE
7bd109a8855e985cc751be2eaa284e78ac63a956b08ed8b03d906300a695a375
Job succeeded

我不知道我在这里忘记了什么。我认为这种方法对部署容器是正确的吗?我错过了什么/做错了什么?

tldr:希望使用gitlab和坞内安装将映像部署到生产中,作业成功,但没有容器。目标是在部署后在主机上拥有一个正在运行的容器。

EN

回答 1

Stack Overflow用户

发布于 2018-12-16 18:36:48

发现我也需要在gitlab-runner配置中包括对接套接字,而且不仅在容器中可以使用它。通过添加--docker-volumes '/var/run/docker.sock:/var/run/docker.sock'和删除DOCKER_HOST=tcp://docker:2375,我能够连接到我的主机系统上的对接器,并生成同级容器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53802429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档