我在Gitlab CI / CD中使用Docker在此guide之后在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
答案 0 :(得分:1)
每次容器名称都相同。首先停止并取出旧容器。
在docker stop dockerize-vuejs-app-1
之后运行docker rm dockerize-vuejs-app-1
和docker build
。
此外,我建议将您的容器与-d
(docs)分开运行(--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