feat(makefile): add docker pull/rebuild and dual tags (TAG1/TAG2); drop TAG\n\n- build/rebuild now tag with TAG1/TAG2\n- add docker pull (both tags)\n- push handles both tags\n- docs updated (README, docs/*)\n- examples migrated to TAG1/TAG2
This commit is contained in:
@@ -4,26 +4,26 @@
|
||||
|
||||
### Простая сборка
|
||||
```bash
|
||||
# Сборка с минимальными параметрами
|
||||
make docker build IMAGE=myapp TAG=latest
|
||||
# Сборка с двойными тегами
|
||||
make docker build IMAGE=myapp TAG1=latest TAG2=v1.0.0
|
||||
|
||||
# Сборка с кастомным registry
|
||||
make docker build \
|
||||
IMAGE=myapp \
|
||||
TAG=v1.0.0 \
|
||||
TAG1=latest TAG2=v1.0.0 \
|
||||
REGISTRY=hub.cism-ms.ru/library
|
||||
|
||||
# Сборка с проверкой
|
||||
make docker build IMAGE=myapp TAG=v1.0.0
|
||||
make docker build IMAGE=myapp TAG1=latest TAG2=v1.0.0
|
||||
make docker check RUN_CMD="lsb_release -a"
|
||||
```
|
||||
|
||||
### Полный цикл сборки и публикации
|
||||
```bash
|
||||
# 1. Сборка образа
|
||||
# 1. Сборка образа (двойные теги)
|
||||
make docker build \
|
||||
IMAGE=myapp \
|
||||
TAG=v1.0.0 \
|
||||
TAG1=latest TAG2=v1.0.0 \
|
||||
REGISTRY=hub.cism-ms.ru/library
|
||||
|
||||
# 2. Проверка работоспособности
|
||||
@@ -33,7 +33,7 @@ make docker check \
|
||||
# 3. Публикация в registry
|
||||
make docker push \
|
||||
IMAGE=myapp \
|
||||
TAG=v1.0.0 \
|
||||
TAG1=latest TAG2=v1.0.0 \
|
||||
REGISTRY=hub.cism-ms.ru/library
|
||||
```
|
||||
|
||||
@@ -56,7 +56,7 @@ docker buildx inspect --bootstrap
|
||||
# Сборка для AMD64 и ARM64
|
||||
make docker build \
|
||||
IMAGE=myapp \
|
||||
TAG=v1.0.0 \
|
||||
TAG1=latest TAG2=v1.0.0 \
|
||||
USE_BUILDX=1 \
|
||||
PLATFORMS="linux/amd64,linux/arm64" \
|
||||
PUSH=1 \
|
||||
@@ -65,7 +65,7 @@ make docker build \
|
||||
# Сборка для всех популярных платформ
|
||||
make docker build \
|
||||
IMAGE=myapp \
|
||||
TAG=v1.0.0 \
|
||||
TAG1=latest TAG2=v1.0.0 \
|
||||
USE_BUILDX=1 \
|
||||
PLATFORMS="linux/amd64,linux/arm64,linux/arm/v7" \
|
||||
PUSH=1
|
||||
@@ -106,7 +106,7 @@ make docker load \
|
||||
ARCHIVE=images/myapp_v1.0.0.tar.gz \
|
||||
REGISTRY=hub.cism-ms.ru/library \
|
||||
IMAGE=myapp \
|
||||
TAG=v1.0.0 \
|
||||
TAG1=v1.0.0 \
|
||||
LOGIN=1 \
|
||||
PUSH_OFFLINE=1
|
||||
|
||||
@@ -125,13 +125,13 @@ make docker load \
|
||||
# Передача переменных окружения
|
||||
make docker build \
|
||||
IMAGE=myapp \
|
||||
TAG=v1.0.0 \
|
||||
TAG1=v1.0.0 \
|
||||
BUILD_ARGS="--build-arg VERSION=1.0.0 --build-arg NODE_ENV=production"
|
||||
|
||||
# Передача пользовательских данных
|
||||
make docker build \
|
||||
IMAGE=myapp \
|
||||
TAG=v1.0.0 \
|
||||
TAG1=v1.0.0 \
|
||||
BUILD_ARGS="--build-arg USER_ID=1000 --build-arg GROUP_ID=1000"
|
||||
```
|
||||
|
||||
@@ -279,13 +279,13 @@ make docker check RUN_CMD="env | grep -E 'VERSION|NODE_ENV'"
|
||||
# Сборка с Dockerfile.prod
|
||||
make docker build \
|
||||
IMAGE=myapp \
|
||||
TAG=production \
|
||||
TAG1=production \
|
||||
DOCKERFILE=Dockerfile.prod
|
||||
|
||||
# Сборка с контекстом в подпапке
|
||||
make docker build \
|
||||
IMAGE=myapp \
|
||||
TAG=v1.0.0 \
|
||||
TAG1=v1.0.0 \
|
||||
CONTEXT=./app
|
||||
```
|
||||
|
||||
@@ -294,31 +294,37 @@ make docker build \
|
||||
# Сборка для локального registry
|
||||
make docker build \
|
||||
IMAGE=myapp \
|
||||
TAG=v1.0.0 \
|
||||
TAG1=v1.0.0 \
|
||||
REGISTRY=localhost:5000
|
||||
|
||||
# Сборка для Docker Hub
|
||||
make docker build \
|
||||
IMAGE=myapp \
|
||||
TAG=v1.0.0 \
|
||||
TAG1=v1.0.0 \
|
||||
REGISTRY=myusername
|
||||
|
||||
# Сборка для GitLab Registry
|
||||
make docker build \
|
||||
IMAGE=myapp \
|
||||
TAG=v1.0.0 \
|
||||
TAG1=v1.0.0 \
|
||||
REGISTRY=registry.gitlab.com/myproject
|
||||
```
|
||||
|
||||
### Управление тегами
|
||||
```bash
|
||||
# Перетегирование образа
|
||||
# Перетегирование образа (локально)
|
||||
make docker retag NEW_TAG=v2.0.0
|
||||
|
||||
# Создание нескольких тегов
|
||||
make docker retag NEW_TAG=latest
|
||||
make docker retag NEW_TAG=stable
|
||||
make docker retag NEW_TAG=2024.01.15
|
||||
|
||||
# Пулл обоих тегов
|
||||
make docker pull IMAGE=myapp TAG1=latest TAG2=v2.0.0 REGISTRY=hub.cism-ms.ru/library
|
||||
|
||||
# Пересборка без кэша с двумя тегами
|
||||
make docker rebuild IMAGE=myapp TAG1=latest TAG2=v2.0.0
|
||||
```
|
||||
|
||||
## 9. Очистка и обслуживание
|
||||
|
||||
Reference in New Issue
Block a user