Как настроить нотариальный сервер Docker, нотариус-подписчик и нотариус-клиент для частного реестра, такого как Nexus?

У меня есть настройки ниже инфраструктуры для нотариуса:

  1. нотариус
  2. нотариус
  3. База данных 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)

  1. notary_server
  2. notary_signer
  3. 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

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