首页 > 解决方案 > 使用 Gitlab CI/CD 配置 Docker?

问题描述

我在 Gitlab CI/CD 中有一个简单的项目设置,使用 Docker 按照本指南在容器上提供站点服务。但是每当有新作业在推送事件上运行时,我都会收到“容器已在使用中...”错误。如何在不关闭或杀死容器的情况下将新代码“推送”到我已经运行的网站?

# .gitlab-ci.yml    

stages:
 - build

job 1:
  stage: build
  tags:
    - windows-test

  script:
    - docker build -t vuejs-cookbook/dockerize-vuejs-app .
    - docker run -p 8080:80 --rm --name dockerize-vuejs-app-1 vuejs-cookbook/dockerize-vuejs-app

标签: dockergitlabgitlab-ci

解决方案


容器名称每次都相同。首先停止并移除旧容器。

运行docker stop dockerize-vuejs-app-1docker rm dockerize-vuejs-app-1之后docker build

除此之外,我建议使用( docs-d ) 分离 ( )运行您的容器。--restart always

docker build -t vuejs-cookbook/dockerize-vuejs-app .
docker stop dockerize-vuejs-app-1
docker rm dockerize-vuejs-app-1
docker run -p 8080:80 -d --restart always --name dockerize-vuejs-app-1 vuejs-cookbook/dockerize-vuejs-app

推荐阅读