Я использую Docker на Mac, и у меня возникли проблемы с привязкой места на сервере реестра - я надеялся, что кто-то здесь сможет помочь.

К счастью, проблема довольно проста. Допустим, я хочу запустить простой, небезопасный реестр Docker. Во-первых, я проверяю, что соответствующий ip:portno внесен в список "небезопасных реестров". В соответствии с документацией я запускаю docker run -d --restart=always --name registry -e REGISTRY_HTTP_ADDR=0.0.0.0:5000 -p 5000:5000 registry:2

Когда я это делаю, реестр «просто работает». Я могу пометить изображение как 10.0.3.59:5000/imgname , и толкать и тянуть как обычно.

Однако я хотел бы, чтобы данные реестра находились в определенном месте в хост-системе, например, /mnt/registry . Я захожу в настройки докера, проверяю, что общий доступ включен в папке mnt , и удаляю старые образы и контейнеры

Следуя документации, я снова запускаю docker run -d --restart=always --name registry -v storage:/var/lib/registry/ -e REGISTRY_HTTP_ADDR=0.0.0.0:5000 -p 5000:5000 registry:2 . Однако, если я сейчас попытаюсь сделать docker push 10.0.3.59:5000/imgname сейчас, я получу следующие сообщения

The push refers to a repository [10.0.3.52:5000/cropspokyimage]
74146a4cf164: Retrying in 9 seconds
6c45ce1e774e: Retrying in 9 seconds 
0914c5636fb4: Retrying in 9 seconds
f859b8ada191: Retrying in 9 seconds
b2d02a400fe3: Retrying in 9 seconds
fc0e50be166d: Waiting
a8cfe888247e: Waiting
e745d991dded: Waiting
7b08edaa4533: Waiting
01b4d034aab5: Waiting
d0c686d0df68: Waiting
9deb78b26d56: Waiting
0566c118947e: Waiting
6f9cf951edf5: Waiting
182d2a55830d: Waiting
5a4c2c9a24fc: Preparing
cb11ba605400: Waiting

Примерно через минуту ожидания он, наконец, печатает следующую ошибку и завершает received unexpected HTTP status: 500 Internal Server Error

Очевидно, это оставляет меня без каких-либо желаемых функций. Кто-нибудь сможет помочь мне найти решение?

1 ответ1

0

Это оказалось ошибкой разрешения, когда у докера не было разрешения на запись в смонтированный каталог (для исправления выполните команду chmod 777 ).

Команда docker log была верным другом, помогая мне (ну, моему руководителю) отследить ошибку до ее источника.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .