Перейти к содержанию

Docker


Подготовка

Для аутентификации вам потребуется создать в профиле транспортный токен, сохраните его для дальнейшей работы.

В таблице ниже указаны допустимые символы, которые можно использовать для атрибутов, встречающихся в командах.

Атрибут Описание
имя пакета Может содержать буквы нижнего регистра (а-я), верхнего регистра (А-Я), числа (0-9), точки (.), тире (-), нижнее подчеркивания (_).
версия пакета Может содержать цифры (0-9), точки (.)
имя файла Может содержать буквы нижнего регистра (а-я), верхнего регистра (А-Я), числа (0-9), точки (.), тире (-), нижнее подчеркивания (_).

В документации ниже встречается атрибут <домен gitflic> На его место необходимо указать домен, в зависимости от версии:

  • для SaaS версии registry.gitflic.ru

  • для self-hosted localhost:8080

Домен и порт для self-hosted версии может отличаться.

Авторизация

Выполните команду

docker login registry.gitflic.ru
или при использовании self-hosted

docker login localhost:8080

Для авторизации введите ваш логин аккаунта, далее вставьте ваш транспортный токен вместо пароля. Если аутентификация прошла успешно, вы получите сообщение Login Succeeded

Docker login

Загрузка контейнеров

Атрибут Описание
<домен_gitflic> registry.gitflic.ru, либо ваш для self-hosted
Имя пользователя в GitFlic, то же что в URL (имя пользователя/логин)
Имя проекта в GitFlic, то же что в URL
Имя компании в GitFlic, то же что в URL
Название image для Docker

В проекте https://gitflic.ru/project/gitflic/docs, - gitflic, - docs

Подготовка к отправке

Если вы хотите отправить в реестр контейнеров уже готовый образ, то его необходимо подготовить к отправке, а именно с помощью команды docker tag.

Вариант для дальнейшей загрузки образа на уровне проекта:

Шаблон команды:

docker tag <название образа:версия> <домен_gitflic>/project/<имя пользователя>/<репозиторий проекта>/<название образа:версия>

Пример команды для выполнения:

docker tag ubuntu:latest localhost:8080/project/user/repo/ubuntu:latest

Вариант для дальнейшей загрузки образа на уровне компании:

Шаблон команды:

docker tag <название образа:версия> <домен_gitflic>/company/<алиас_компании>/<название образа:версия>
Пример команды для выполнения:

docker tag ubuntu:latest localhost:8080/company/test_company/ubuntu:latest

Вариант для дальнейшей загрузки образа на уровне инстанса:

Шаблон команды:

docker tag <название образа:версия> <домен_gitflic>/<название образа:версия>

Пример команды для выполнения:

docker tag ubuntu:latest localhost:8080/ubuntu:latest

Сборка и отправка образа

Вариант для проекта

Шаблон команды:

docker build -t <домен_gitflic>/project/<alias_name>/<alias_project>/<image_name> .

docker push <домен_gitflic>/project/<alias_name>/<alias_project>/<image_name>

В проекте https://gitflic.ru/project/gitflicuser/myproject, - gitflicuser, - myproject

Пример команды для выполнения:

docker build -t localhost:8080/project/gitflicuser/myproject/my-docker:1.0.1 .

docker push localhost:8080/project/gitflicuser/myproject/my-docker:1.0.1

Вариант для компании

Шаблон команды

docker build -t <домен_gitflic>/company/<alias_company>/<image_name> .

docker push <домен_gitflic>/company/<alias_company>/<image_name>

В проекте https://gitflic.ru/project/gitflic/docs, - gitflic, - docs

Пример команды для выполнения

docker build -t localhost:8080/project/gitflic/docs/my-docker:1.0.1 .

docker push localhost:8080/project/gitflic/docs/my-docker:1.0.1

Вариант для инстанса

Шаблон команды

docker build -t <домен_gitflic>/<image_name> .

docker push <домен_gitflic>/company/<alias_company>/<image_name>

Пример команды для выполнения

docker build -t localhost:8080/my-docker:1.0.1 .

docker push localhost:8080/my-docker:1.0.1

Удаление контейнеров

Чтобы удалить образы контейнеров с помощью пользовательского интерфейса GitFlic:

  1. Перейдите в раздел Реестр пакетов

  2. Найдите нужный вам контейнер в списке

  3. Напротив тега образа нажмите кнопку с корзиной

Обратите внимание, данное действие необратимо, после удаления образа восстановить его можно только после повторной загрузки.