web-dev-qa-db-fra.com

Comment installer python dans une image docker?

Je veux créer une image docker avec Selenium et chrome correctement installés, donc je choisis une image de base avec ces propriétés. Par conséquent, la première ligne de Dockerfile est la suivante:

FROM Selenium/node-chrome:3.7.1-argon

Ensuite, la commande suivante est

RUN apt-get update

qui a créé l'erreur suivante lors de la création de l'image docker:

Step 4/19 : RUN apt-get update
 ---> Running in af08ae07cbf3
Reading package lists...
E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied)
The command '/bin/sh -c apt-get update' returned a non-zero code: 100

Comment pouvoir installer python dans cette image docker?

9
Alex

RUN Sudo apt-get update

RUN Sudo apt-get install python

Comme l'indique:

Acquérir (13: autorisation refusée)

Je crois que cela est dû à votre image de base:

https://github.com/SeleniumHQ/docker-Selenium/blob/master/NodeChrome/Dockerfile

Comme vous pouvez le voir, il passe du contexte utilisateur par défaut de "root" à "seluser". Si vous aviez utilisé 'USER' sans revenir à l'utilisateur root avec 'USER root', cela pourrait également être le problème.

Vous pouvez soit:

  • portez-le en conséquence de l'image de base (c'est-à-dire utilisez Sudo)
  • permuter en arrière: USER root
  • ou envisagez de créer votre propre image docker pour éviter tout échange

J'espère que ça aide le compagnon.

6
mikey

Sur certaines images de docker minimales (par exemple Alpine), apt-get peut ne pas être disponible. L'installation de python pourrait se faire via l'entrée suivante dans DOCKERFILE puis:

RUN apk add --update python

0
Th 00 mÄ s