Настроить Docker с помощью Gitlab CI / CD? - PullRequest
0 голосов
/ 23 февраля 2019

У меня есть простая настройка проекта в Gitlab CI / CD с использованием Docker для обслуживания сайта в контейнере, следуя этому руководству .Но я получаю сообщение об ошибке «Контейнер уже используется ...» всякий раз, когда для события push выполняется новое задание.Как мне «протолкнуть» новый код на мой уже работающий веб-сайт, не удаляя его и не убивая контейнер?

# .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

1 Ответ

0 голосов
/ 23 февраля 2019

Имя контейнера всегда одинаково.Сначала остановите и удалите старый контейнер.

Запустите docker stop dockerize-vuejs-app-1 и docker rm dockerize-vuejs-app-1 после docker build.

Кроме того, я бы предложил запускать ваш контейнер отдельно (-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
...