Как настроить нотариальный сервер Docker, нотариус-подписчик и нотариус-клиент для частного реестра, такого как Nexus?
У меня есть настройки ниже инфраструктуры для нотариуса:
- нотариус
- нотариус
- База данных mariadb для "нотариального сервера" и "нотариуса" с помощью docker-compose.
Я хотел бы использовать мой личный реестр докеров (nexus), который развернут на другой машине с нотариальной инфраструктурой, которая у меня установлена и работает.
Не могли бы вы сообщить мне пошаговый процесс для того же?
Я расширяю свои выводы:
Я пытаюсь настроить свою собственную нотариальную службу, используя инструкции, доступные по этой ссылке https://github.com/theupdateframework/notary
Что я сделал:
git clone https://github.com/theupdateframework/notary.git
cd notary
3 )$ docker-compose build
$ docker-compose up -d
После выполнения описанных выше шагов я установил и запустил контейнер 3 на моем хосте докера (Запуск на локальном ноутбуке -Ubuntu16.04)
- notary_server
- notary_signer
- MariaDB:10.1.28
Теперь, чтобы использовать мою локальную нотариальную службу с частным реестром Nexus (размещенным в качестве контейнера на другом компьютере), я сделал следующие шаги:
/etc/hosts entry
127.0.0.1 notary-server
mkdir -p ~/.notary && cp cmd/notary/config.json cmd/notary/root-ca.crt ~/.notary
После этого я проверил соединение, используя приведенную ниже команду, и оно прошло успешно.
openssl s_client -connect :4443 -CAfile fixtures/root-ca.crt -no_ssl3 -no_ssl2
Теперь, чтобы подписать изображение и отправить его в личный реестр, я установил переменную среды ниже.
DOCKER_CONTENT_TRUST_SERVER=https://notary-server:4443
DOCKER_CONTENT_TRUST=1
Проблема: Когда я запускаю команду push-подключения, как показано ниже
sudo docker push nexus.xyz.com:5000/nginx:latest (я сделал правильный тег раньше)
это не проходит подписывание, это непосредственно передает изображение в частный реестр
Но когда я использую
sudo docker push --disable-content-trust=false nexus.xyz.com:5000/nginx:latest
он подписал изображение и нажмите, но не показывает доверенного контента, когда я использую
notary list nexus.xyz.com:5000/nginx:latest
Вопрос: Нужно ли мне делать какие-либо другие настройки, чтобы использовать мою собственную нотариальную услугу?
Любая помощь могла бы быть полезна.
2 ответа
sudo docker push --disable-content-trust=false nexus.xyz.com:5000/nginx:latest
работает как пользователь root, таким образом, дом меняется.
Вы должны попытаться скопировать.docker и.notary в домашнюю директорию root. Или добавьте текущего пользователя в группу docker и выполните команду docker без sudo.
Я смог заставить это работать, как вы описали. Хотя при нажатии я сделал:
docker push localhost: 5000 / uname / nginx: последний
* отмечая, что у меня есть собственный личный реестр, работающий локально
Кроме того, это избавляет вас от необходимости редактировать / etc / hosts:
нотариус -s https://localhost:4443/ список localhost:5000/gt3389b/myfirstimage