LoginSignup
1

Error response from daemon: No build stage in current context。docker(74)今日のdocker error:

Last updated at Posted at 2019-08-31

今日のdocker warning: No package 'libunwind-generic' found
https://qiita.com/kaizen_nagoya/items/4e6828562b6f29cc7eee

macOS
$ docker build -t kaizenjapan/http3a .
Sending build context to Docker daemon  4.096kB
Error response from daemon: No build stage in current context

「Error response from daemon: No build stage in current context」検索

Error response from daemon: No build stage in current context
https://stackoverflow.com/questions/50452860/error-response-from-daemon-no-build-stage-in-current-context

To resolve this, swap the declarations so that any environment variables are set after FROM.

FROMの後に書かなきゃだめだったんだ。

MAINTAINER @inductor, @kaizen_nagoya
を先頭に書いていた。

Dockerfile
# https://qiita.com/inductor/items/8d1bc0e95b71e814dbcf
# https://qiita.com/kaizen_nagoya/items/4e6828562b6f29cc7eee
# https://qiita.com/kaizen_nagoya/items/f19d94ed241e8d28a56c
FROM debian:buster-slim as base
RUN apt update && apt install -y git build-essential pkg-config apt-utils

MAINTAINER @inductor, @kaizen_nagoya

FROM base as fetch-quiche
WORKDIR /root
RUN git clone --recursive --depth 1 https://github.com/cloudflare/quiche
RUN mkdir quiche/deps/boringssl/build
WORKDIR /root/quiche/deps/boringssl/build
RUN apt update && apt install -y cmake golang-go
RUN cmake -DCMAKE_POSITION_INDEPENDENT_CODE=on ..
RUN make -j`nproc`
WORKDIR /root/quiche/deps/boringssl
RUN mkdir .openssl/lib -p
RUN cp build/crypto/libcrypto.a build/ssl/libssl.a .openssl/lib
RUN ln -s $PWD/include .openssl

FROM base as build-quiche
WORKDIR /root
RUN apt update && apt install -y wget && \
    wget https://sh.rustup.rs -O install.sh && chmod +x install.sh && ./install.sh -y && rm -rf install.sh && \
    apt purge -y --auto-remove wget
COPY --from=fetch-quiche /root/quiche /root/quiche
WORKDIR  /root/quiche/
RUN QUICHE_BSSL_PATH=$PWD/deps/boringssl $HOME/.cargo/bin/cargo build --release --features pkg-config-meta

FROM base as build-curl
WORKDIR /root
RUN git clone --depth 1 https://github.com/curl/curl
WORKDIR /root/curl
RUN apt update && apt install -y autoconf libtool
RUN ./buildconf
COPY --from=build-quiche /root/quiche /root/quiche
RUN ./configure LDFLAGS="-Wl,-rpath,$PWD/../quiche/target/release" --with-ssl=$PWD/../quiche/deps/boringssl/.openssl --with-quiche=$PWD/../quiche/target/release
RUN make -j`nproc`
RUN make install

FROM debian:buster-slim as executor
COPY --from=build-curl /etc/ld.so.conf.d/libc.conf /etc/ld.so.conf.d/libcurl.conf
COPY --from=build-curl /usr/local/lib/libcurl.so.4 /usr/local/lib/libcurl.so.4
COPY --from=build-curl /etc/ld.so.conf.d/libc.conf /etc/ld.so.conf.d/libquiche.conf
COPY --from=build-curl /root/quiche/target/release/libquiche.so /usr/local/lib/libquiche.so
COPY --from=build-curl /usr/local/bin/curl /usr/local/bin/curl
RUN ldconfig
CMD ["bash"]

<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>

文書履歴(document history)

ver. 0.01 初稿 20190831
ver. 0.02 ありがとう追記 20230522

最後までおよみいただきありがとうございました。

いいね 💚、フォローをお願いします。

Thank you very much for reading to the last sentence.

Please press the like icon 💚 and follow me for your happy life.

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1