Puncte:0

Instrucțiune necunoscută: YUM în timpul creării imaginii Docker

drapel il

Fișierul meu Docker:

DE la gazdă la distanță

COPIEAZĂ ./conf/nginx.repo /etc/yum.repos.d/nginx.repo

ALERGA
  yum -y instalează nginx-1.12.2 openssl --enablerepo=nginx &&
  yum -y instalează https://centos7.iuscommunity.org/ius-release.rpm &&
  yum -y instalează https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release -1.0-14.ius.centos7.noarch.rpm &&
  yum -y instalează
   php71u-fpm
   php71u-cli
   php71u-mysqlnd
   php71u-săpun
   php71u-xml
   php71u-zip
   php71u-json
   php71u-mcrypt
   php71u-mbstring
   php71u-zip
   php71u-gd
    --enablerepo=ius && yum clean all

EXPUNĂ 80 443

VOLUM /war/www/html /var/log/nginx /var/log/php-fpm /var/lib/php-fpm

COPIEAZĂ ./conf/nginx.conf /etc/nginx/conf.d/default.conf

COPY ./bin/start.sh /start.sh

RUN chmod +x /start.sh'

Încerc să instalez pachetele PHP rulând fișierul docker pentru a crea o imagine.

Dar în timp ce rulați Docker-compose obținem eroarea de mai jos:

Construire remote_host
Trimiterea contextului de construcție către demonul Docker 5.632kB
Pasul 1/8: DE LA centos
 ---> 5d0da3dc9764
Pasul 2/8: RUN yum -y install openssh-server
 ---> Folosind memoria cache
 ---> f35cb2e631df
Pasul 3/8: RUN useradd remote_user && echo „remote_user:1234” | chpasswd && mkdir /home/remote_user/.ssh && chmod 700 /home/remote_user/.ssh
 ---> Folosind memoria cache
 ---> cd43cbb20a17
Pasul 4/8: COPIEAZĂ remote-key.pub /home/remote_user/.ssh/authorized_keys
 ---> Folosind memoria cache
 ---> 265df27dac01
Pasul 5/8: RUN chown remote_user:remote_user -R /home/remote_user/.ssh/ && chmod 700 /home/remote_user/.ssh/authorized_keys
 ---> Folosind memoria cache
 ---> ede2d6bc1ca1
Pasul 6/8: RUN ssh-keygen -A
 ---> Folosind memoria cache
 ---> d2285793a0a0
Pasul 7/8: RUN yum -y instalează mysql
 ---> Folosind memoria cache
 ---> 5e32bcb6c255
Pasul 8/8: CMD /usr/sbin/sshd -D
 ---> Folosind memoria cache
 ---> 96a4c1781a8f
Construit cu succes 96a4c1781a8f
Etichetat cu succes remote-host:latest
Construire web
Se trimite contextul de construcție către demonul Docker 8,192 kB
Răspuns de eroare de la demon: eroare de analiză dockerfile linia 6: instrucțiune necunoscută: YUM
EROARE: Serviciul „web” a eșuat: Construirea a eșuat
Massimo avatar
drapel ng
Folosiți calea completă pentru „yum”.
Puncte:2
drapel pt

Aveți erori de sintaxă în dvs Dockerfile. Nu puteți pune comenzi pe mai multe linii într-un Dockerfile fără a scăpa de capătul liniei. Adică nu poți scrie asta:

ALERGA
  yum -y instalează nginx-1.12.2 openssl --enablerepo=nginx &&
  yum -y instalează https://centos7.iuscommunity.org/ius-release.rpm

Dar poți scrie asta:

RUN yum -y instalează nginx-1.12.2 openssl --enablerepo=nginx && yum -y instalează https://centos7.iuscommunity.org/ius-release.rpm

Sau poți scrie asta:

ALERGA \
  yum -y instalează nginx-1.12.2 openssl --enablerepo=nginx && \
  yum -y instalează https://centos7.iuscommunity.org/ius-release.rpm

Aici, folosim \ caracter pentru a scăpa de la sfârșitul liniei, permițându-ne să răspândim o comandă pe mai multe linii fizice din nostru Dockerfile.

Deci primul tău ALERGA comanda ar trebui probabil să arate astfel:

ALERGA \
  yum -y instalează nginx-1.12.2 openssl --enablerepo=nginx && \
  yum -y instalează https://centos7.iuscommunity.org/ius-release.rpm && \
  yum -y instalează https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release -1.0-14.ius.centos7.noarch.rpm && \
  yum -y instalează \
   php71u-fpm \
   php71u-cli \
   php71u-mysqlnd \
   php71u-soap \
   php71u-xml \
   php71u-zip \
   php71u-json \
   php71u-mcrypt \
   php71u-mbstring \
   php71u-zip \
   php71u-gd \
    --enablerepo=ius && yum clean all

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.