var*_*ble 5 azure docker azure-devops azure-pipelines
我正在使用自托管代理来运行我的构建管道。代理机器已下载基础 docker 映像。管道使用第一个任务构建并推送新的 docker 映像(基于基础映像的顶部),如以下屏幕截图所示。
一旦构建了映像并将其推送到容器注册表,我希望从自托管代理中清理映像(作为此管道的一部分创建),以避免将来出现磁盘空间问题(应保留基础映像)。是否有 Docker 任务来清理/删除构建的映像?在azure构建管道中,一旦推送后如何从自托管代理中清理docker镜像?
这个答案可能会迟到,但它就在这里。
我使用这种流程来清理代理中的图像(以及更多内容):
- job: DockerCleanBuildAndTest
displayName: Docker Build and Test
workspace:
clean: all
steps:
- task: DockerCompose@0
displayName: Clean
inputs:
containerregistrytype: 'Container Registry'
dockerRegistryEndpoint: ${{ variables['container-registry-name'] }}
dockerComposeFile: '**/docker-compose.yml'
action: 'Run a Docker Compose command'
dockerComposeCommand: down
detached: false
- task: DockerCompose@0
displayName: Run Tests
inputs:
containerregistrytype: 'Container Registry'
dockerRegistryEndpoint: ${{ variables['container-registry-name'] }}
dockerComposeFile: '**/docker-compose.yml'
action: 'Run a Docker Compose command'
dockerComposeCommand: 'run all-tests'
detached: false
Run Code Online (Sandbox Code Playgroud)
也许在你的情况下它会是这样的:
- job: DockerCleanBuildAndTest
displayName: Docker Build and Test
workspace:
clean: all
steps:
- task: DockerCompose@0
displayName: Clean
inputs:
containerregistrytype: 'Container Registry'
dockerRegistryEndpoint: ${{ variables['container-registry-name'] }}
dockerComposeFile: '**/docker-compose.yml'
action: 'Run a Docker Compose command'
dockerComposeCommand: rm # <---
detached: false
- task: DockerCompose@0
displayName: Run Tests
inputs:
containerregistrytype: 'Container Registry'
dockerRegistryEndpoint: ${{ variables['container-registry-name'] }}
dockerComposeFile: '**/docker-compose.yml'
action: 'Run a Docker Compose command'
dockerComposeCommand: 'run all-tests'
detached: false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5483 次 |
| 最近记录: |