Netflix / lemur-docker

Docker files for the Lemur certificate orchestration tool
170 stars 88 forks source link

docker-compose up fails #41

Closed abawchen closed 5 years ago

abawchen commented 5 years ago

Hi,

I get following error message with latest master:

The following packages have unmet dependencies:
 npm : Depends: node-gyp (>= 0.10.9) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
ERROR: Service 'lemur-web' failed to build: The command '/bin/sh -c apt-get update && apt-get install -y software-properties-common && add-apt-repository ppa:deadsnakes/ppa -y &&   apt-get update &&   apt-get install -y curl git build-essential sudo     python3.6 python3-pip python3.6-dev     nodejs npm     postgresql postgresql-contrib     libpq-dev libssl-dev libffi-dev libsasl2-dev libldap2-dev &&   ln -sf /usr/bin/python3.6 /usr/local/bin/python3 &&   update-alternatives --install /usr/bin/python python /usr/bin/python3 1 &&   update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 &&   update-alternatives --install /usr/bin/node node /usr/bin/nodejs 1 &&   apt-get clean -y &&   rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*' returned a non-zero code: 100
e-ruiz commented 5 years ago

After breaking Dockerfile in many RUN commands, just trying to take more specific error messages, and making some builds without docker system prune, the containers has come to life without any significant modifications on Dockerfile, weird.

Probably, some docker image layering tricky.

abawchen commented 5 years ago

@e-ruiz : Thanks for the suggestion, and I fixed it by https://askubuntu.com/a/1092849/824819

ghost commented 4 years ago

@abawchen the solution you linked didn't work for me, same error. Anything you added and may have forgotten to include?

abawchen commented 4 years ago

@snyder-riley-pfg :

Base on the original docker file, I modify as follows that I am not sure which one exactly makes it work, fyi:

FROM ubuntu:18.04
LABEL maintainer="Netflix Open Source Development <talent@netflix.com>"

ARG DEBIAN_FRONTEND=noninteractive

RUN apt-get update && \
    apt-get install -y software-properties-common && \
    add-apt-repository ppa:deadsnakes/ppa -y && \
    apt-get update && \
    apt-get install -y curl git build-essential sudo \
    python3.6 python3-pip python3.6-dev

RUN apt-get install -y \
    postgresql \
    postgresql-contrib \
    libpq-dev \
    libssl-dev \
    libffi-dev \
    libsasl2-dev \
    libldap2-dev

RUN apt-get update && \
    apt-get install -y \
    nodejs-dev \
    node-gyp \
    libssl1.0-dev

RUN apt-get install -y npm

RUN apt-get install -y nodejs

RUN ln -sf /usr/bin/python3.6 /usr/local/bin/python3 && \
    update-alternatives --install /usr/bin/python python /usr/bin/python3 1 && \
    update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 && \
    update-alternatives --install /usr/bin/node node /usr/bin/nodejs 1 && \
    apt-get clean -y && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN locale-gen en_US.UTF-8

ENV LC_ALL=en_US.UTF-8

ENV LEMUR_VERSION=master LEMUR_TARGET=develop

# Install Lemur
RUN git config --global url."https://".insteadOf git:// && \
    cd /usr/local/src && \
    git clone https://github.com/netflix/lemur.git && \
    cd lemur && \
    git checkout ${LEMUR_VERSION} && \
    pip install --upgrade pip virtualenv && \
    export PATH=/usr/local/src/lemur/venv/bin:${PATH} && \
    virtualenv -p python3 venv && \
    . venv/bin/activate && \
    make ${LEMUR_TARGET}

WORKDIR /usr/local/src/lemur

# Create static files
RUN npm install --unsafe-perm && node_modules/.bin/gulp build && \
    node_modules/.bin/gulp package && \
    rm -r bower_components node_modules

ADD lemur.conf.py /usr/local/src/lemur/lemur.conf.py
ADD api-start.sh /usr/local/src/lemur/scripts/api-start.sh
RUN chmod +x /usr/local/src/lemur/scripts/api-start.sh

CMD ["/usr/local/src/lemur/scripts/api-start.sh"]