社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

在Docker安装程序中使用Gitlab CI Docker部署Docker容器

Roberto • 5 年前 • 369 次点击  

我正在尝试设置Gitlab CI管道。我选择了 go with the Docker-in-Docker setup . 我得到了我的ci管道来构建docker映像并将其推送到gitlab的注册表,但似乎无法使用以下配置来部署它:

.gitlab-ci.yml

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操作时,我的日志中实际上得到了以下反馈,但是当我去检查服务器时,没有容器在运行。

$ docker run -d --name "review-$CI_COMMIT_REF_SLUG" -p "80:80" $RELEASE_IMAGE
7bd109a8855e985cc751be2eaa284e78ac63a956b08ed8b03d906300a695a375
Job succeeded

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

TLDR : 要在Docker安装程序中使用Gitlab CI和Docker将映像部署到生产环境中,作业成功,但没有容器。目标是在部署后在主机上有一个正在运行的容器。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43418
 
369 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Roberto
Reply   •   1 楼
Roberto    6 年前

发现我还需要将Docker套接字包含在Gitlab Runner配置中,而不仅仅是在容器中可用。 通过添加 --docker-volumes '/var/run/docker.sock:/var/run/docker.sock' 去除 DOCKER_HOST=tcp://docker:2375 我能够在我的主机系统上连接到DoCKER和生成兄弟容器。