Здравствуйте, Qulac, Вы писали:
Q>Делаю свой пейплайн и столкнулся с проблемой: старый образ и контейнер мешают новому образу и контейнеру т.е. нужно их удалять, стандартные команды докера с этим справляются если они уже есть, а если их нет — возвращают ошибку, т.е. при первом запуске у меня пейплайн не работает. Это конечно можно обойти, но хочется универсальное решение, т.е. какой то скрипт который сначала проверяет наличие контейнера и образа и если они есть то их удаляет. ИИ генерит что то такое не понятное и не рабочее. Может кто знает как это можно сделать при помощи например powershell ?
Отбой, сам разобрался, тут хитрый синтаксис:
cleanup-job:
stage: cleanup
script:
- |
$containers = docker ps -a | Out-String
if ($containers -like "*$env:CONTAINER_NAME*") {
docker stop $env:CONTAINER_NAME
docker rm $env:CONTAINER_NAME
}
$images = docker images | Out-String
if ($images -like "*$env:IMAGE_NAME*") {
docker rmi $env:IMAGE_NAME
}