2017-06-26 3 views
2

J'ai le Dockerfile ci-dessous que je veux construire. Il s'agit essentiellement de l'image de base normale de jboss/wildfly, mais construite avec amazonlinux au lieu de centOS."groupadd: Commande introuvable" dans le conteneur docker même si je l'ai installé et que je suis root

L'out erreur de construction avec la ligne « groupadd: Command not found »

Après ce qui est arrivé la première fois que j'ajouté le repo « de epel » et a essayé de l'installer manuellement comme vous pouvez le voir dans la première instruction RUN. J'ai lu quelques forums et semble parfois que vous obtenez ce message d'erreur lorsque vous n'êtes pas en cours d'exécution en tant que root. J'ai fait un "whoami" et je cours en tant que root, donc ça ne devrait pas être un problème.

Quelqu'un a-t-il une idée de la raison pour laquelle je reçois toujours une erreur?

FROM amazonlinux:2017.03 

# Install packages necessary to run EAP 
RUN yum-config-manager --enable epel && yum update -y && yum -y install  groupadd xmlstarlet saxon augeas bsdtar unzip && yum clean all 

# Create a user and group used to launch processes 
# The user ID 1000 is the default for the first "regular" user on Fedora/RHEL, 
# so there is a high chance that this ID will be equal to the current user 
# making it easier to use volumes (no permission issues) 
RUN groupadd -r jboss -g 1000 && useradd -u 1000 -r -g jboss -m -d /opt/jboss -s /sbin/nologin -c "JBoss user" jboss && \ 
chmod 755 /opt/jboss 

# Set the working directory to jboss' user home directory 
WORKDIR /opt/jboss 

# Specify the user which should be used to execute all commands below 
USER jboss 

Merci d'avance!

+0

Vous avez peut-être trouvé ceci, mais ce n'est pas censé avoir ce que j'appellerais l'essentiel installé. Vous devrez construire votre conteneur amazonlinux pour répondre à vos besoins. Il vous manque encore probablement d'autres paquets essentiels https://forums.aws.amazon.com/thread.jspa?threadID=242790 – knittledan

Répondre

2

Votre problème est que groupadd n'est pas un package, vous ne pouvez donc pas l'installer comme vous le faites actuellement.

Vous pouvez installer shadow-utils.x86_64, ce qui rendra la commande groupadd disponible.

yum install shadow-utils.x86_64 -y 

Ou de modifier votre ligne "RUN":

RUN yum-config-manager --enable epel && yum update -y && yum -y install  shadow-utils.x86_64 xmlstarlet saxon augeas bsdtar unzip && yum clean all 

Cela devrait résoudre votre problème.

Vous n'avez pas non plus besoin du référentiel epel, vous pouvez donc supprimer ce bit ensemble si vous le souhaitez.