Есть ли способ сделать это через REST API?
Согласно документации Продвигать Docker Изображение Я не совсем уверен, так как это там упоминалось, что
Продвигает изображение Docker из одного репозитория в другой. Поддерживается только локальными репозиториями.
Что касается
Поддерживается ли это вообще?
есть некоторые другие вызовы REST API, которые может использоваться для распространения сборок или тегов на Bintray. Так может быть, но я не совсем уверен. Вы можете ознакомиться с документацией Artifactory REST API.
Может ли аутентификация предназначена только для получения личных изображений?
Нет, также для pu sh.
Поскольку у меня было подобное требование в моей среде, я хотел бы предложить другой возможный подход к решению, который работал у меня.
В этом примере предполагается, что в экземпляре Artifactory есть. Кроме того, я использую podman
в своей среде RHEL 7.x, который установлен на тех же хостах, которые обслуживают приложение Artifactory Java. Обратите внимание, что я должен использовать прокси-сервер компании, что может не подходить для вашей среды.
# Provide the information for the local proxy, otherwise there will be no internet access
# Doc: https://bugzilla.redhat.com/show_bug.cgi?id=1682970
# Doc: https://access.redhat.com/solutions/3939131
export HTTPS_PROXY=http://localhost:3128
# Login in into Artifactory
podman login <repo-local>.example.com -u <artifactory-user>
# Pull the required image(s)
podman pull docker://<repo-local>.example.com/<image-name>:<image-tag>
# Re-tag the image(s) to the remote repository
podman tag <repo-local>.example.com/<image-name>:<image-tag> <repo-remote>/<image-name>:<image-tag>
# Login in into the remote repository
podman login <repo-remote> -u <remote-user>
password:
Login successful!
# Pushthe required image(s)
podman push <repo-remote>/<image-name>:<image-tag>
# Clean up after work and free local storage space
podman image rm --all --force