Closed damuzhi closed 3 years ago
Hi, could you provide some details on what you were trying to do when you received that error ?
Thanks.
I am also getting this error.
Steps to reproduce:
Using
❯ docker --version
Docker version 19.03.12, build 48a66213fe
Logs
❯ docker-compose up
Building opentsdb
Step 1/27 : FROM alpine:latest
---> a24bb4013296
Step 2/27 : ARG HBASE_VERSION=2.2.4
---> Using cache
---> 6bd729f3560a
Step 3/27 : ARG GNUPLOT_VERSION=5.2.8
---> Using cache
---> 7f3e3e05b546
Step 4/27 : ARG PACKAGES="ca-certificates rsyslog bash openjdk8 curl libgd libpng libjpeg libwebp libjpeg-turbo cairo pango jruby lua supervisor asciidoctor"
---> Using cache
---> 6c8639c65636
Step 5/27 : ARG BUILD_PACKAGES="build-base autoconf make automake git python cairo-dev pango-dev gd-dev lua-dev readline-dev libpng-dev libjpeg-turbo-dev libwebp-dev"
---> Using cache
---> 4db7230c824e
Step 6/27 : ARG DOCKER_ROOT="docker"
---> Using cache
---> 417e4f21453a
Step 7/27 : ARG HBASE_DIR=/hbase
---> Using cache
---> 71c6843dbb07
Step 8/27 : ENV DATA_DIR /data
---> Using cache
---> 190a6ee48fc5
Step 9/27 : ENV TSDB_DIR /tsdb
---> Using cache
---> 5d074bb9ad1c
Step 10/27 : ENV HBASE_HOME ${HBASE_DIR}
---> Using cache
---> d76a2ddd0158
Step 11/27 : ENV JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
---> Using cache
---> d59b359592d5
Step 12/27 : ENV PATH="$JAVA_HOME/bin:${PATH}"
---> Using cache
---> 0a86d66e2917
Step 13/27 : RUN apk --update add apk-tools && apk add ${PACKAGES} ${BUILD_PACKAGES}
---> Running in 2a74ac26c13a
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
OK: 6 MiB in 14 packages
python (missing):
ERROR: unsatisfiable constraints:
required by: world[python]
ERROR: Service 'opentsdb' failed to build : The command '/bin/sh -c apk --update add apk-tools && apk add ${PACKAGES} ${BUILD_PACKAGES}' returned a non-zero code: 1
if I change line 7 in the opentsdb.Dockerfile
file.
From this
ARG BUILD_PACKAGES="build-base autoconf make automake git python cairo-dev pango-dev gd-dev lua-dev readline-dev libpng-dev libjpeg-turbo-dev libwebp-dev"
To this (note I am using python2
as a dependency)
ARG BUILD_PACKAGES="build-base autoconf make automake git python2 cairo-dev pango-dev gd-dev lua-dev readline-dev libpng-dev libjpeg-turbo-dev libwebp-dev"
That error is no longer present. Instead, I get:
❯ docker-compose up --build opentsdb
Building opentsdb
Step 1/27 : FROM alpine:latest
---> a24bb4013296
Step 2/27 : ARG HBASE_VERSION=2.2.4
---> Using cache
---> 6bd729f3560a
Step 3/27 : ARG GNUPLOT_VERSION=5.2.8
---> Using cache
---> 7f3e3e05b546
Step 4/27 : ARG PACKAGES="ca-certificates rsyslog bash openjdk8 curl libgd libpng libjpeg libwebp libjpeg-turbo cairo pango jruby lua supervisor asciidoctor"
---> Using cache
---> 6c8639c65636
Step 5/27 : ARG BUILD_PACKAGES="build-base autoconf make automake git python2 cairo-dev pango-dev gd-dev lua-dev readline-dev libpng-dev libjpeg-turbo-dev libwebp-dev"
---> Using cache
---> 5d855d505169
Step 6/27 : ARG DOCKER_ROOT="docker"
---> Using cache
---> 8675f62df4be
Step 7/27 : ARG HBASE_DIR=/hbase
---> Using cache
---> 8826b76d9e04
Step 8/27 : ENV DATA_DIR /data
---> Using cache
---> 1bb64be19ddc
Step 9/27 : ENV TSDB_DIR /tsdb
---> Using cache
---> dd18a60e88dd
Step 10/27 : ENV HBASE_HOME ${HBASE_DIR}
---> Using cache
---> bbe6260cc3f4
Step 11/27 : ENV JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
---> Using cache
---> 3a41655b4f24
Step 12/27 : ENV PATH="$JAVA_HOME/bin:${PATH}"
---> Using cache
---> 09cc29a5f5c9
Step 13/27 : RUN apk --update add apk-tools && apk add ${PACKAGES} ${BUILD_PACKAGES}
---> Using cache
---> 94403cc9ccda
Step 14/27 : WORKDIR /tmp/gnuplot
---> Using cache
---> 0cf7eb69a6b1
Step 15/27 : RUN cd /tmp && curl -L -o - https://downloads.sourceforge.net/project/gnuplot/gnuplot/${GNUPLOT_VERSION}/gnuplot-${GNUPLOT_VERSION}.tar.gz | tar -xzf - --strip-components 1 && ./configure && make install && rm -rf /tmp/gnuplot
---> Using cache
---> 0ffdedaaf7fe
Step 16/27 : WORKDIR ${HBASE_DIR}
---> Using cache
---> fed60322985a
Step 17/27 : RUN curl -L -o - http://archive.apache.org/dist/hbase/${HBASE_VERSION}/hbase-${HBASE_VERSION}-bin.tar.gz | tar -xzf - --strip-components 1
---> Using cache
---> cf2297f6c9b6
Step 18/27 : COPY ${DOCKER_ROOT}/hbase-site.xml ${HBASE_DIR}/conf/
---> Using cache
---> 94717b015e9a
Step 19/27 : COPY ${DOCKER_ROOT}/start_hbase.sh ${HBASE_DIR}/
---> Using cache
---> 372202564f84
Step 20/27 : RUN cd /tmp && curl -OL https://github.com/OpenTSDB/opentsdb/archive/v2.4.0.zip && unzip v2.4.0.zip && mv opentsdb-2.4.0 ${TSDB_DIR} && rm /tmp/v2.4.0.zip && cd ${TSDB_DIR} && find . -name '*.mk' | xargs sed -i s#http://central.maven.org#https://repo1.maven.org#g && find . -name '*.mk' | xargs sed -i s#http://repo1.maven.org#https://repo1.maven.org#g && ./build.sh
---> Using cache
---> c411dbc4db92
Step 21/27 : COPY ${DOCKER_ROOT}/tsdb/opentsdb.conf ${TSDB_DIR}
---> Using cache
---> b65cea6c385d
Step 22/27 : COPY ${DOCKER_ROOT}/tsdb/start_opentsdb.sh ${TSDB_DIR}
---> Using cache
---> 7c93becc2001
Step 23/27 : COPY ${DOCKER_ROOT}/tsdb/create_tsdb_tables.sh ${TSDB_DIR}
---> Using cache
---> a3d820cc499c
Step 24/27 : COPY ${DOCKER_ROOT}/data/supervisord-opentsdb.conf ${DATA_DIR}/
---> Using cache
---> 15c48256d72a
Step 25/27 : EXPOSE 4242
---> Using cache
---> 3ca3f4a5eef8
Step 26/27 : VOLUME ["${DATA_DIR}", "/var/log", "${TSDB_DIR}"]
---> Using cache
---> b8f14192b74c
Step 27/27 : CMD ["sh", "-c", "/usr/bin/supervisord -c ${DATA_DIR}/supervisord-opentsdb.conf"]
---> Using cache
---> 2897b81da229
Successfully built 2897b81da229
Successfully tagged docker_opentsdb:latest
Starting opentsdb ... done
Attaching to opentsdb
opentsdb | 2020-09-23 02:39:46,878 INFO Set uid to user 0 succeeded
opentsdb | 2020-09-23 02:39:46,880 INFO supervisord started with pid 1
opentsdb | 2020-09-23 02:39:47,885 INFO spawned: 'hbase' with pid 7
opentsdb | 2020-09-23 02:39:47,889 INFO spawned: 'opentsdb' with pid 8
opentsdb | 2020-09-23 02:39:47,890 INFO exited: hbase (exit status 127; not expected)
opentsdb | 2020-09-23 02:39:47,891 INFO exited: opentsdb (exit status 127; not expected)
opentsdb | 2020-09-23 02:39:48,893 INFO spawned: 'hbase' with pid 9
opentsdb | 2020-09-23 02:39:48,894 INFO spawned: 'opentsdb' with pid 10
opentsdb | 2020-09-23 02:39:48,895 INFO exited: hbase (exit status 127; not expected)
opentsdb | 2020-09-23 02:39:48,896 INFO exited: opentsdb (exit status 127; not expected)
opentsdb | 2020-09-23 02:39:50,900 INFO spawned: 'hbase' with pid 11
opentsdb | 2020-09-23 02:39:50,901 INFO spawned: 'opentsdb' with pid 12
opentsdb | 2020-09-23 02:39:50,903 INFO exited: hbase (exit status 127; not expected)
opentsdb | 2020-09-23 02:39:50,904 INFO exited: opentsdb (exit status 127; not expected)
opentsdb | 2020-09-23 02:39:53,911 INFO spawned: 'hbase' with pid 13
opentsdb | 2020-09-23 02:39:53,915 INFO spawned: 'opentsdb' with pid 14
opentsdb | 2020-09-23 02:39:53,916 INFO exited: hbase (exit status 127; not expected)
opentsdb | 2020-09-23 02:39:53,916 INFO gave up: hbase entered FATAL state, too many start retries too quickly
opentsdb | 2020-09-23 02:39:53,917 INFO exited: opentsdb (exit status 127; not expected)
opentsdb | 2020-09-23 02:39:54,918 INFO gave up: opentsdb entered FATAL state, too many start retries too quickly
Confirmed, thanks. I'll put in a PR to update the Python version to 3. The python
package without a version doesn't exist anymore in the alpine repos.
FROM alpine:latest 需要修改为 FROM alpine:3.11