


Comment s'authentifier à l'aide d'un référentiel privé dans un conteneur Docker
l'éditeur php Strawberry vous présente comment utiliser un référentiel privé dans un conteneur Docker pour l'authentification. Docker est une plate-forme de conteneurisation populaire qui aide les développeurs à déployer et exécuter rapidement des applications dans différents environnements. Cependant, pour certaines applications sensibles ou bases de codes privées, nous devrons peut-être authentifier le référentiel dans le conteneur pour garantir que seul le personnel autorisé puisse y accéder. Cet article vous montrera comment configurer et utiliser l'authentification pour les référentiels privés afin de protéger vos données et votre code sensibles.
Contenu de la question
J'ai un référentiel git qui est un référentiel privé et je dois pouvoir m'authentifier auprès de celui-ci et pouvoir l'exécuter dans le container build
视角中查看它。有关一些背景信息,我有一个 github 工作流程,用于构建容器映像并将其发布到 ghcr.io
registre. Cependant, comme le référentiel dont dépend mon package est privé, cela ne fonctionne pas. Maintenant que cela fonctionne localement, j'ai envisagé de changer la façon dont l'authentification github est stockée pour me permettre d'y accéder, mais je me demandais si quelqu'un connaissait un meilleur moyen pour moi d'accéder au référentiel privé. p>
Voici l'action github à publier dans le registre ghcr.io
:
name: docker dataeng_github_metrics # run workflow on tags starting with v (eg. v2, v1.2.0) on: push: branches: [ "master" ] paths: - ./data_pipelines/dataeng_github_metrics/* pull_request: branches: [ "master" ] jobs: deploy: runs-on: ubuntu-latest steps: - name: checkout code uses: actions/checkout@v1 - name: login to github container registry uses: docker/login-action@v1 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.ghcr_registry_token }} - name: set up docker buildx uses: docker/setup-buildx-action@v2 - name: build and push docker image uses: docker/build-push-action@v3 with: context: ./data_pipelines/dataeng_github_metrics/ file: ./data_pipelines/dataeng_github_metrics/dockerfile push: true # will only build if this is not here tags: | ghcr.io/mirantis/dataeng_github_metrics:latest # todo: i cannot use dataeng as public and need to change the way gitconfig is used in the dockerfile for authentication secrets: | token=${{ secrets.automation_pat}}
C'est dockerfile
:
############### # cache image # ############### arg go_image=golang:1.17.3-alpine3.14 arg base_image=alpine:3.14.2 from ${go_image} as cache # add the keys arg github_id env github_id=$github_id arg github_token env github_token=$github_token # install git run apk add git # todo: encrypt the github_id and github_token # make git configuration run git config \ --global \ url."https://${github_id}:${github_token}@github.com/".insteadof \ "https://github.com/" workdir /src copy go.mod go.sum /src/ run go mod download ############## # base image # ############## from cache as dataeng_github_metrics copy . /bin workdir /bin # setup git terminal prompt & go build run go build . ############### # final image # ############### from ${base_image} copy --from=dataeng_github_metrics /bin/dataeng_github_metrics bin/ entrypoint [ "bin/dataeng_github_metrics" ]
Je pense que la grande partie qui me déroute est la suivante, mais je me demande s'il existe une meilleure façon de le faire :
# make git configuration run git config \ --global \ url."https://${github_id}:${github_token}@github.com/".insteadof \ "https://github.com/"
Comment accéder aux référentiels privés et éviter les erreurs suivantes dans votre workflow :
#14 9.438 remote: Repository not found. #14 9.438 fatal: Authentication failed for 'https://github.com/Mirantis/dataeng/' ------ Dockerfile:26 -------------------- 24 | WORKDIR /src 25 | COPY go.mod go.sum /src/ 26 | >>> RUN go mod download 27 | 28 | ############## -------------------- ERROR: failed to solve: process "/bin/sh -c go mod download" did not complete successfully: exit code: 1 Error: buildx failed with: ERROR: failed to solve: process "/bin/sh -c go mod download" did not complete successfully: exit code: 1
Solution de contournement
Dans dockerfile
中,为了使用操作传递的密钥(称为 token
, afin d'utiliser la clé transmise par l'opération (appelée token
), vous devez exécuter comme suit :
RUN --mount=type=secret,id=TOKEN \ echo "machine github.com login x password $(head -n 1 /run/secrets/TOKEN)" > ~/.netrc && \ git config \ --global \ url."https://${GITHUB_ID}:${TOKEN}@github.com/".insteadOf \ "https://github.com/"
N'oubliez pas de transmettre également github_id
au dockerfile
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment afficher le mot de passe de la base de données via Navicat : 1. Cliquez avec le bouton droit sur la base de données cible et sélectionnez « Propriétés » 2. Allez dans l'onglet « Avancé » et cliquez sur « Afficher le mot de passe » 3. Entrez le nom d'utilisateur et le mot de passe associés pour récupérer le mot de passe ; mot de passe. Remarque : seuls les utilisateurs autorisés peuvent récupérer les mots de passe cryptés.

Node.js et Java ont chacun leurs avantages et leurs inconvénients en matière de développement Web, et le choix dépend des exigences du projet. Node.js excelle dans les applications en temps réel, le développement rapide et l'architecture de microservices, tandis que Java excelle dans la prise en charge, les performances et la sécurité de niveau entreprise.

Les utilisateurs peuvent non seulement regarder une variété de courtes vidéos intéressantes sur Douyin, mais également publier leurs propres œuvres et interagir avec des internautes à travers le pays et même dans le monde. Ce faisant, la fonction d’affichage de l’adresse IP de Douyin a attiré une large attention. 1. Comment l'adresse IP de Douyin est-elle affichée ? La fonction d'affichage de l'adresse IP de Douyin est principalement mise en œuvre via les services de localisation géographique. Lorsqu'un utilisateur publie ou regarde une vidéo sur Douyin, Douyin obtient automatiquement les informations de localisation géographique de l'utilisateur. Ce processus est principalement divisé en les étapes suivantes : premièrement, l'utilisateur active l'application Douyin et permet à l'application d'accéder à ses informations de localisation géographique ; deuxièmement, Douyin utilise les services de localisation pour obtenir les informations de localisation géographique de l'utilisateur ; enfin, Douyin transfère les informations de localisation géographique de l'utilisateur ; informations de localisation Les informations de localisation géographique sont associées à leurs données vidéo publiées ou visionnées et seront

Introduction : Pour les entreprises et les particuliers qui ont besoin de copier des données en grande quantité, des outils de production de masse de disques U efficaces et pratiques sont indispensables. L'outil de production de masse de disques U lancé par Kingston est devenu le premier choix pour la copie de gros volumes de données en raison de ses excellentes performances et de son fonctionnement simple et facile à utiliser. Cet article présentera en détail les caractéristiques, l'utilisation et les cas d'application pratiques de l'outil de production de masse de disques flash USB de Kingston pour aider les lecteurs à mieux comprendre et utiliser cette solution de copie de données de masse efficace et pratique. Matériaux d'outils : Version du système : Windows1020H2 Modèle de marque : Kingston DataTraveler100G3 Version du logiciel du disque U : Outil de production de masse de disque Kingston U v1.2.0 1. Caractéristiques de l'outil de production de masse de disque Kingston U 1. Prend en charge plusieurs modèles de disque U : Volume de disque Kingston U

En tant que jeton natif du protocole Internet Computer (IC), ICP Coin fournit un ensemble unique de valeurs et d'utilisations, notamment le stockage de valeur, la gouvernance du réseau, le stockage de données et le calcul, ainsi que l'incitation aux opérations des nœuds. ICP Coin est considéré comme une crypto-monnaie prometteuse, dont la crédibilité et la valeur augmentent avec l'adoption du protocole IC. De plus, les pièces ICP jouent un rôle important dans la gouvernance du protocole IC. Les détenteurs de pièces peuvent participer au vote et à la soumission de propositions, affectant le développement du protocole.

À l’ère du numérique, les données sont souvent considérées comme la batterie qui alimente la machine à innovation et oriente les décisions commerciales. Avec l’essor des solutions modernes telles que l’intelligence artificielle (IA) et l’apprentissage automatique (ML), les organisations ont accès à de grandes quantités de données, suffisamment pour obtenir des informations précieuses et prendre des décisions éclairées. Cependant, cela se fait au prix de pertes de données ultérieures et de problèmes de confidentialité. Alors que les organisations continuent de saisir le potentiel de l’intelligence artificielle, elles doivent trouver un équilibre entre réaliser des progrès commerciaux tout en évitant les risques potentiels. Cet article se concentre sur l'importance de la sécurité des données dans l'intelligence artificielle et sur les mesures de sécurité que les organisations peuvent prendre pour éviter les risques tout en tirant parti des solutions viables fournies par l'intelligence artificielle. En intelligence artificielle, la sécurité des données est cruciale. Les organisations doivent s’assurer que les données utilisées sont légales

En SQL signifie toutes les colonnes, il est utilisé pour sélectionner simplement toutes les colonnes d'une table, la syntaxe est SELECT FROM table_name;. Les avantages de l'utilisation incluent la simplicité, la commodité et l'adaptation dynamique, mais en même temps, faites attention aux performances, à la sécurité des données et à la lisibilité. De plus, il peut être utilisé pour joindre des tables et des sous-requêtes.

La base de données Oracle et MySQL sont toutes deux des bases de données basées sur le modèle relationnel, mais Oracle est supérieur en termes de compatibilité, d'évolutivité, de types de données et de sécurité ; tandis que MySQL se concentre sur la vitesse et la flexibilité et est plus adapté aux ensembles de données de petite et moyenne taille. ① Oracle propose une large gamme de types de données, ② fournit des fonctionnalités de sécurité avancées, ③ convient aux applications de niveau entreprise ; ① MySQL prend en charge les types de données NoSQL, ② a moins de mesures de sécurité et ③ convient aux applications de petite et moyenne taille.
