Что вам нужно
Сертификаты
Если вы планируете передавать образы с компьютеров в вашей сети (которые не являются вашим сервером Harbour), вам необходимо скопировать сертификаты с сервера Harbour на клиенты.
Если вы следовали инструкциям по установке Harbor, возможно, вы используете самозаверенные сертификаты.
Я собираюсь предположить, что это так.
И так … вот как скопировать эти сертификаты с сервера на клиент:
- подключитесь по ssh (или войдите в консоль) к серверу Harbor.
- Получите root-доступ с помощью команды sudo -s.
- Перейдите в каталог сертификатов с помощью команды cd /etc/docker/certs.d/SERVER_IP (где SERVER_IP – это IP-адрес вашего сервера).
- Скопируйте ключ ca.cert на клиент с помощью команды scp ca.cert USER @ CLIENT_IP: / home / USER (где USER – имя пользователя на клиентском компьютере, а CLIENT_IP – IP-адрес клиентского компьютера).
- Скопируйте ключ ca.crt на клиент с помощью команды scp ca.crt USER @ CLIENT_IP: / home / USER (где USER – это имя пользователя на клиентском компьютере, а CLIENT_IP – это IP-адрес клиентского компьютера).
- Скопируйте клиентский ключ ca.key с помощью команды scp ca.key USER @ CLIENT_IP: / home / USER (где USER – это имя пользователя на клиентском компьютере, а CLIENT_IP – это IP-адрес клиентского компьютера).
- SSH к клиентскому компьютеру с помощью команды ssh USER @ CLIENT_IP (где USER – имя пользователя на клиентском компьютере, а CLIENT_IP – IP-адрес клиентского компьютера).
- Создайте новый каталог сертификатов с помощью команды sudo mkdir -p /etc/docker/certs.d/SERVER_IP (где SERVER_IP – это IP-адрес сервера Harbour).
- Скопируйте файлы с помощью команды sudo cp ca. * /etc/docker/certs.d/SERVER_IP (где SERVER_IP – IP-адрес сервера Harbor).
Пометка образов ( теги )
Прежде чем отправить образ с клиента на сервер, сначала необходимо пометить его.
Допустим, у вас есть официальный образ Ubuntu, и вы хотите пометить его конкретным именем разработчика.
Чтобы пометить его так, чтобы его можно было перенести в реестр Harbor, команда tag будет выглядеть так:
docker tag ubuntu SERVER_IP/PROJECT_NAME/ubuntu:DEVNAME
- SERVER_IP – это IP-адрес сервера Harbour.
- PROJECT_NAME – это имя проекта на сервере Harbour.
- DEVNAME: имя разработчика, которого вы хотите пометить.
Таким образом, команда может выглядеть так:
docker tag ubuntu 192.168.1.75/test/ubuntu:jack
Пушинг образа
Для этого выполните команду:
docker login SERVER_IP
Где SERVER_IP – это IP-адрес сервера Harbor.
Вам будет предложено ввести имя пользователя и пароль пользователя на сервере Harbour.
После входа в систему вы можете спушить образ с помощью команды:
docker push 192.168.1.75/test/ubuntu:jack
Сканирование образа
Войдите в свой реестр Harbor и перейдите к проекту, в котором размещен недавно подтянутый образ
Вы должны увидеть образ в списке:
Щелкните на новый образ и в появившемся окне установите флажок, связанный с тегом образа.
После выбора нажмите кнопку SCAN, чтобы начать сканирование.
Прокрутите весь отчет, чтобы просмотреть все уязвимости.
Если вы обнаружите, что образ содержит слишком много общих уязвимостей или достаточно средних или высоких уязвимостей, я предлагаю не использовать его.
Но важно просканировать эти уязвимости!