> For the complete documentation index, see [llms.txt](https://docs.edgegap.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.edgegap.com/ru/learn/advanced-features/edgegap-container-registry.md).

# реестр контейнеров

Храните образы контейнеров вашего игрового сервера в бесплатном встроенном реестре Edgegap, готовом к развертыванию по глобальной периферийной сети.

Теперь, когда вы знаете, как пользоваться нашей платформой, вам нужно контейнеризировать ваш игровой сервер. Вам понадобится место для хранения образов контейнеров, чтобы они были доступны при развёртывании ваших игровых серверов.

Именно поэтому мы создали Edgegap Container Registry. Это частный управляемый репозиторий контейнеров, который работает почти так же, как стандартные публичные реестры контейнеров, но с дополнительными преимуществами: повышенной безопасностью, сканированием уязвимостей и другими приятными возможностями! Благодаря высокой доступности и интеграции с панелью управления вы будете тратить меньше времени на изучение новых инструментов, а ваши серверы всегда будут готовы к работе.

### Получение учётных данных

Чтобы отправлять образы, сначала вам нужно пройти аутентификацию в нашем реестре, а для этого вам понадобятся учётные данные. Найдите `Container Registry` вкладку в `разделе` Service

<figure><img src="https://3845012722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsR0dHSFv9ymoC0DO5G8J%2Fuploads%2Fgit-blob-323308a355e5937e7bcd4dfdbf75cd0d4517ac86%2Frequest-access.png?alt=media" alt=""><figcaption></figcaption></figure>

Чтобы запросить ваши учётные данные в боковой панели. Оттуда вы можете запросить доступ к нашему реестру.

<figure><img src="https://3845012722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsR0dHSFv9ymoC0DO5G8J%2Fuploads%2Fgit-blob-ed6f68d538b2ea4944d14989c82351b09dc3914c%2Fregistry-project-info.png?alt=media" alt=""><figcaption></figcaption></figure>

| Поле             | Описание                                                                         |
| ---------------- | -------------------------------------------------------------------------------- |
| URL              | URL нашего реестра контейнеров. Он понадобится вам при входе и отправке образов. |
| Проект           | Имя назначенного вам проекта. Вы должны указать его в пути к репозиторию образа. |
| Имя пользователя | Имя пользователя, которое следует использовать при входе в реестр.               |
| Токен            | Пароль, который следует использовать при входе в реестр.                         |

Теперь вы можете войти в репозиторий, используя любой удобный для вас инструмент:

#### Linux

```bash
# введите пароль, когда появится запрос
docker login -u '<REPOSITORY_USERNAME>' registry.edgegap.com
```

#### cmd

```bash
# введите пароль, когда появится запрос
docker login -u <REPOSITORY_USERNAME> registry.edgegap.com
```

#### Powershell

```bash
# введите пароль, когда появится запрос
docker login -u '<REPOSITORY_USERNAME>' registry.edgegap.com
```

### Предупреждение о входе в Docker

```
ПРЕДУПРЕЖДЕНИЕ! Ваш пароль будет храниться незашифрованным в /home/user/.docker/config.json.
```

Вы можете настроить хранилище учётных данных, следуя [этой настройке](https://docs.docker.com/engine/reference/commandline/login/#credentials-store). Помните, что это предупреждение является нормальным поведением Docker.

Важно **важно** понимать, что имя пользователя вашего робота и токен для вашего приватного репозитория закодированы в base64 на вашей машине по этому пути `$HOME/.docker/config.json`. Любой, у кого есть доступ к этому файлу, может легко расшифровать токен вашей учётной записи робота с помощью base64-декодера. Убедитесь, что среда `docker login registry.edgegap.com` которую вы используете, безопасна и что права доступа к этому файлу ограничены.

Чтобы удалить свои учётные данные из этого файла, вы можете легко использовать `docker logout registry.edgegap.com` каждый раз, когда вы отправляете и загружаете свои приватные образы.

### Отправка образа в реестр

Если вам нужна помощь с контейнеризацией вашего проекта, см. [нашу документацию по этой теме](/ru/docs/tools-and-integrations/docker.md) чтобы начать.

Сначала вам нужно добавить тег к вашему образу, соответствующий реестру. Затем, поскольку вы уже вошли в реестр, всё, что нужно сделать, — это отправить ваш образ по URL и в проект, указанным на странице:

```bash
docker image tag <IMAGE_NAME>:<TAG> registry.edgegap.com/<PROJECT_NAME>/<IMAGE_NAME>:<TAG>
docker push registry.edgegap.com/<PROJECT_NAME>/<IMAGE_NAME>:<TAG>
```

Вы можете отправить столько образов, сколько позволяет ваше хранилище, и распределить их по разным репозиториям, как сочтёте нужным. Однако перед тем, как загружать слишком много образов, вам следует прочитать раздел «Шаблоны приложений»!

Затем вы увидите свои репозитории на той же странице после обновления.

### Многократное присвоение одного и того же артефакта сборки разным тегам (отправка дубликата образа)

Если вы случайно отправите один и тот же артефакт сборки дважды с одним и тем же значением тега, никаких изменений не произойдёт.

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

### Управление вашими образами

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

Нажав на один из этих репозиториев, вы можете увидеть содержащиеся в нём образы, сгруппированные по артефактам. Если вы присвоили одному и тому же образу два разных тега и отправили их в реестр, вы увидите их как один и тот же артефакт.

<figure><img src="https://3845012722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsR0dHSFv9ymoC0DO5G8J%2Fuploads%2Fgit-blob-0a4a754f4b880aa351d7a77ff94cad5335a59831%2Fartifact-list.png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3845012722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsR0dHSFv9ymoC0DO5G8J%2Fuploads%2Fgit-blob-7afcf8e2f1ef701a0b2dc7aa8d54b56529f7c6eb%2Fartifact-list-2.png?alt=media" alt=""><figcaption></figcaption></figure>

Образы с тегами `1.0.1` и `1.0.2` на изображении выше имеют один и тот же артефакт. Образ с тегом `1.0.3`, однако, имеет другой артефакт.

{% hint style="warning" %}
Если вы удалите артефакт, вы также удалите связанные с ним теги. В окне подтверждения будет перечислены все теги, которые будут удалены этим действием, чтобы вы случайно не удалили нужные ресурсы.
{% endhint %}

### Удаление артефактов сборки через API

Если интерфейс панели управления слишком медленный для вас, или если вам нужен автоматизированный конвейер непрерывной интеграции, который будет автоматически удалять устаревшие артефакты сборки, чтобы удерживать использование реестра в пределах лимитов, рассмотрите использование нашего Container Registry API. Наш [Container Registry API](/ru/docs/api.md) позволяет получать список всех тегов для данного приложения (образа), а также удалять отдельные теги. Поскольку каждый артефакт образа (сборки) может одновременно иметь несколько связанных тегов (например, `v1.1.0`, `dev`, `latest`, или больше), вам нужно удалить все теги, связанные с конкретным артефактом, чтобы освободить место в вашем Edgegap Container Registry.

### Запросить больше хранилища

Когда ваш запрос на доступ к реестру будет одобрен, вам будет предоставлен определённый объём хранилища в реестре.

Вы можете запросить дополнительное место, нажав кнопку «Запросить больше хранилища» рядом с индикатором использования пространства.

<figure><img src="https://3845012722-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsR0dHSFv9ymoC0DO5G8J%2Fuploads%2Fgit-blob-81bdfd593994140a1a5a5f915b5e1242b32ef8fb%2Frequest-more-storage.png?alt=media" alt=""><figcaption></figcaption></figure>

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

### Следующие шаги

Узнайте, как контейнеризировать ваше приложение, с нашим руководством: [Начало работы с Docker](/ru/docs/tools-and-integrations/docker.md).
