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

Я использую 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, Я перехожу к настройкам Docker, убедитесь, что общий доступ включен на 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 ответ

Решение

Здесь были некоторые проблемы. Во-первых, каталог, который я смонтировал для тома, имел неправильные разрешения, поэтому докер не мог записать в него. cmod 777 исправил это.

С использованием docker logs Команда для проверки журналов реестра имела решающее значение.

Проверка журналов также показала, что restrict-useradd сценарий ошибался, когда пользователь, которого он пытался добавить, уже существовал, поэтому добавление || 0 к возвращаемому значению в скрипте это исправлено. Это было проблемой с restrict-groupadd тоже

Другие вопросы по тегам