Explication
После некоторых исследований я обнаружил, что репозитории nexus3 docker предназначены для работы с отдельным портом для каждого репозитория (размещенного, группового или прокси-сервера).
https://issues.sonatype.org/browse/NEXUS-9960
Решение
Поэтому я уничтожил свой предыдущий докер-контейнер, потому что у меня не было относительной информации о нем, и запустил ту же команду, но с включенным дополнительным портом.
$ docker run -d -p 8081:8081 --name nexus sonatype/nexus3:3.14.0
Поэтому, когда вы создаете новый Docker-репозиторий, вам нужно определить как минимум порт коннектора http, который я определил на изображении как 8082.
После этого необходимо войти в службу с учетной записью администратора по умолчанию (admin admin123)
$ docker login 127.0.0.1:8082
Username: admin
Password:
WARNING! Your password will be stored unencrypted in /home/user/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
Затем попытался загрузить новыйдобавьте тег к этому URL, и он заработал.
$ docker push 127.0.0.1:8082/repository/test2/image-test:0.1
The push refers to repository [127.0.0.1:8082/repository/test2/image-test]
cd76d43ec36e: Pushed
8ad8344c7fe3: Pushed
b28ef0b6fef8: Pushed
0.1: digest: sha256:315f00bd7986508cb0984130bbe3f7f26b2ec477122c9bf7459b0b64e443a232 size: 948
Extra - Dockerfile
Поэтому, поскольку мне нужно было создать собственный образ докера nexus3 для моей производственной среды, я запустил Dockerfile следующим образом:
FROM sonatype/nexus3:3.14.0
ENV NEXUS_DATA = /nexus-data/
EXPOSE 8090-8099
Я будуиспользуя порты от 8090 до 8099 для указания разных хранилищ образов докеров вместо 8022, но в случае, если мне нужно было больше портов, я мог просто изменить значения или добавить новый диапазон портов.
Надеюсь, это было полезно !!