L'image di Docker si blocca a "pacman -S …"

Sto cercando di build un'image Docker dall'arch image ufficiale di Arch Linux. Queste sono le cose che ho fatto finora:

Ho PULL-ed l'image ufficiale di Arch Linux:

  • Come determinare quali pacchetti devono essere aggiornati in Arch Linux?
  • Inoltrare messaggi periodici di sistema / raccogliere i messaggi di journal di sistema
  • Rendere il servizio utente systemd dipende dal target di sistema
  • Imansible avviare il daemon Net-SNMP da systemd (ma funziona dalla row di command)
  • lavoro selettivo di più domini di nginx
  • equilibrata (corrente vs. stabilità) distribuzione del server Linux
  • docker pull base/archlinux 

    Ho scritto questo "Dockerfile":

     # Set base image FROM base/archlinux:latest # Fix mirrorlist file #RUN rm /etc/pacman.d/mirrorlist #RUN echo "Server = http://..." >> /etc/pacman.d/mirrorlist #RUN echo "Server = http://..." >> /etc/pacman.d/mirrorlist #RUN echo "Server = http://..." >> /etc/pacman.d/mirrorlist #RUN echo "Server = http://..." >> /etc/pacman.d/mirrorlist # Update pacman and install packages RUN pacman-db-upgrade RUN pacman -Syyu --noconfirm RUN pacman -S --noconfirm nodejs phantomjs cronie # Make cronjobs RUN echo "*/2 * * * * node /srv/visitor/visitor.js" >> mycronjobs RUN echo "*/5 * * * * killall -older-than 5m phantomjs" >> mycronjobs RUN echo "0 0 * * * rm /srv/visitor/visitor-info.log" >> mycronjobs RUN crontab mycronjobs RUN rm mycronjobs # Fix hosts file RUN echo "192.92.13.243 www.lololol.gr" # Copy app code COPY . /srv/visitor # Install app dependencies RUN cd /srv/visitor RUN npm install EXPOSE 80 CMD ["/bin/bash"] 

    Quello che voglio è il contenitore da avviare al prompt dei comandi, in modo che possa eseguire in modalità intertriggers e albind a esso.

    Ora, ottengo questo errore al momento della costruzione dell'image:

     Step 3 : RUN pacman -S --noconfirm nodejs phantomjs cronie ---> Running in 30870b31aed6 error: failed to initialize alpm library (database is incorrect version: /var/lib/pacman/) error: try running pacman-db-upgrade INFO[0127] The command [/bin/sh -c pacman -S --noconfirm nodejs phantomjs cronie] returned a non-zero code: 255 

    Ciò che mi confonde è che sembra che il database dei pacchetti venga aggiornato correttamente e che il sistema di base sia stato aggiornato e si blocchi quando si tenta di installare manualmente tre pacchetti.

    Qualche idea?

    One Solution collect form web for “L'image di Docker si blocca a "pacman -S …"”

    Beh, non so Arco affatto, ma se lo fai:

     RUN pacman-db-upgrade 

    E quindi eseguire questo per aggiornare i pacchetti attuali:

     RUN pacman -Syyu --noconfirm 

    Sembra ansible che tu abbia appena aggiornato il pacman e tutti gli altri strumenti che toccano il database dei pacchetti, in modo che quando esegui il tuo command pacman successivo …

     RUN pacman -S --noconfirm nodejs phantomjs cronie 

    … non riesce perché il database dei pacchetti non è stato aggiornato dagli strumenti attualmente installati. Sospetto che desideri rendere nuovamente le dichiarazioni di RUN :

     RUN pacman -Syyu --noconfirm RUN pacman-db-upgrade RUN pacman -S --noconfirm nodejs phantomjs cronie 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.