Расположение привязки в реестре Docker приводит к тайм-аутам

248
bingbomboom

Я использую 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

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

0

1 ответ на вопрос

0
bingbomboom

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

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