我正在使用gitlab-ci服务器(启用了注册表) .
每次在master分支上合并某些东西时,我正在构建一个包含我所有源代码的docker镜像 .
接下来,此映像部署在一个牧场服务器上 .
这是我的.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
一切正常:当我在源代码上更改内容时,如果我将其推送到主分支,我可以在我的 生产环境 牧场服务器上看到更新 .
但是我可以通过这些命令看到很多图像和容器:
docker images -a
docker ps -a
每次我在主人身上推送东西时,这个图像和容器都在增长 . 我在gitlab-ci服务器和rancher服务器上遇到了同样的问题 .
所以我的问题是:我如何自动删除图像和容器?
谢谢
1 回答
如果这是rancher版本1.x,请查看目录并查看名为“Janitor”的项目是否有帮助 . 我们使用它来删除构建代理中遗留的图像 .