Skip to content

Instantly share code, notes, and snippets.

@vladmeh
Last active February 8, 2025 15:43
Show Gist options
  • Save vladmeh/91d81869ee195ce293d3efdd8a40f5db to your computer and use it in GitHub Desktop.
Save vladmeh/91d81869ee195ce293d3efdd8a40f5db to your computer and use it in GitHub Desktop.
#!/bin/sh
set -e # Остановить скрипт при наличии ошибок
IMAGE="<username>/<repository>" # Образ Docker
GIT_VERSION=$(git describe --always --abbrev --tags --long) # Git-хэш и теги
# Сборка и тегирование образа
docker build -t ${IMAGE}:${GIT_VERSION} .
docker tag ${IMAGE}:${GIT_VERSION} ${IMAGE}:latest
# Вход в Docker Hub и выгрузка образа
echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin
docker push ${IMAGE}:${GIT_VERSION}
# Найти ID работающего контейнера
CONTAINER_ID=$(docker ps | grep takenote | cut -d" " -f1)
# Остановить старый контейнер, запустить новый, очистить систему
docker stop ${CONTAINER_ID}
docker run --restart unless-stopped -d -p 80:5000 ${IMAGE}:${GIT_VERSION}
docker system prune -a -f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment