#docker #github-actions #github-package-registry
Вопрос:
мы пытаемся использовать частный образ docker, размещенный в пакете Github нашей организации. Что-то вроде этого:
on: push
jobs:
runner-job:
runs-on: ubuntu-latest
services:
postgres:
# Github Registry image here
image: ghcr.io/orgname/reponame:tag
Но мы получаем несанкционированную ошибку, что нормально, потому что реестр является закрытым. Есть ли какой-нибудь способ войти в систему? Я не нашел никакого способа или документов.
Ответ №1:
Вам необходимо добавить учетные данные для каждой службы, в которой вы используете изображение из частного хранилища. Из документов:
Если реестр контейнеров изображения требует проверки подлинности для извлечения изображения, вы можете использовать
credentials
для установкиmap
username
значения «иpassword
«. Учетные данные-это те же значения, которые вы указали бы команде входа в систему docker.
И вот вам пример:
on: push
jobs:
runner-job:
runs-on: ubuntu-latest
services:
postgres:
image: ghcr.io/orgname/reponame:tag
# add this to each service with an image from a private repo
credentials:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASSWORD }}
Этот пример подразумевает, что у вас есть два секрета: DOCKER_USER
и DOCKER_PASSWORD
.