我正在使用gitlab-ci服务器(已启用注册表)。
每次在master分支上合并某些内容时,我都会构建一个包含我所有源代码的docker映像。
接下来,此映像将部署在rancher服务器上。
这是我的.gitlab-ci.yml文件的摘录:
variables:
CONTAINER_TEST_IMAGE: mypersonnalgitlabserver.com:5005/myname/myproject:$CI_BUILD_REF_NAME
...
build:
...
script:
- docker build --cache-from=$CONTAINER_TEST_IMAGE --file=Dockerfile --tag=$CONTAINER_TEST_IMAGE .
- docker login -u gitlab-ci-token -p "$CI_BUILD_TOKEN" $CI_REGISTRY
- docker push $CONTAINER_TEST_IMAGE
...
deploy:
image: cdrx/rancher-gitlab-deploy
variables:
GIT_STRATEGY: none
script:
- upgrade --stack mystack --service myservice --no-start-before-stopping --no-wait-for-upgrade-to-finish
一切正常:当我在源代码上进行更改时,如果将其推送到master分支,则可以在生产牧场主服务器上看到更新。
但是我可以通过以下命令看到很多图像和容器:
docker images -a
docker ps -a
每次我向master推入某些东西时,这些图像和容器都在增长。我在gitlab-ci服务器和rancher服务器上遇到相同的问题。
所以我的问题是:如何自动删除那些图像和容器?
谢谢
答案 0 :(得分:0)
如果这是rancher版本1.x,请在目录中查找并查看名为“ Janitor”的项目是否有帮助。我们用它删除了构建代理遗留下来的图像。