web-dev-qa-db-fra.com

Alpine Docker ERREUR: impossible de verrouiller la base de données: autorisation refusée ERREUR: échec de l'ouverture de la base de données apk: autorisation refusée

J'ai donc utilisé le docker par défaut pour testcafe qui sur le hub de docker est testcafe/testcafe et je dois exécuter quelques scripts testcafe.

Cependant, j'ai besoin de la capture d'écran qui se déclenche en cas d'erreur, pour être téléchargée dans un endroit où je pourrai la regarder plus tard une fois l'image de docker terminée.

J'utilise le programme Imgur qui utilise bash, j'ai donc refait quelques choses pour le rendre compatible sh et tout fonctionne sauf que j'ai besoin de curl. J'ai essayé de courir

apk add curl

mais je reçois l'erreur

ERROR: Unable to lock database: Permission denied ERROR: Failed to open apk database: 

Maintenant, je ne signifie pas que je n'ai pas la permission de le faire, mais puis-je contourner le problème, il existe un moyen de devenir root (c'est dans le pipeline Bitbucket).

Je ne veux PAS vraiment créer mon propre docker.

Notez également que toutes les questions que j'ai trouvées à ce sujet concernent l'installation lors de la création du docker, cependant, ma question est de savoir comment procéder après la création du docker. thx (une bonne réponse serait une autre façon de sauvegarder la capture d'écran, mais de préférence pas avec ssh).

26
Vladimir_314159

La meilleure solution consiste à placer USER <youruser> APRÈS les lignes où votre build docker échoue. Dans la plupart des cas, il est sûr d'ajouter la ligne USER directement au-dessus de la commande ou du point d'entrée.

Par exemple:

FROM python:3.8.0-Alpine

RUN addgroup -S app && adduser -S -G app app

RUN apk add --no-cache libmaxminddb postgresql-dev gcc musl-dev

ADD . .

USER app

ENTRYPOINT ["scripts/entrypoint.sh"]

CMD ["scripts/gunicorn.sh"]
1
mmla