https://gitlab.com/tezos/tezos
Raw File
Tip revision: 289c2998db6ac0f56093c12591ad06668bf7c16e authored by Andrea Cerone on 05 May 2022, 11:26:44 UTC
Decouple generators, generator tests and ticket tests
Tip revision: 289c299
Dockerfile
ARG BASE_IMAGE
ARG BASE_IMAGE_VERSION
ARG BASE_IMAGE_VERSION_NON_MIN
ARG BUILD_IMAGE
ARG BUILD_IMAGE_VERSION

FROM ${BUILD_IMAGE}:${BUILD_IMAGE_VERSION} as builder


FROM ${BASE_IMAGE}:${BASE_IMAGE_VERSION} as intermediate
# Pull in built binaries
COPY --chown=tezos:nogroup --from=builder /home/tezos/tezos/tezos-baker-* /home/tezos/bin/
COPY --chown=tezos:nogroup --from=builder /home/tezos/tezos/tezos-accuser-* /home/tezos/bin/
COPY --chown=tezos:nogroup --from=builder /home/tezos/tezos/tezos-client /home/tezos/bin/
COPY --chown=tezos:nogroup --from=builder /home/tezos/tezos/tezos-admin-client /home/tezos/bin/
COPY --chown=tezos:nogroup --from=builder /home/tezos/tezos/tezos-node /home/tezos/bin/
COPY --chown=tezos:nogroup --from=builder /home/tezos/tezos/tezos-proxy-server /home/tezos/bin/
COPY --chown=tezos:nogroup --from=builder /home/tezos/tezos/tezos-signer /home/tezos/bin/
# Add entrypoint scripts
COPY --chown=tezos:nogroup scripts/docker/entrypoint.* /home/tezos/bin/
# Add scripts
COPY --chown=tezos:nogroup scripts/alphanet_version scripts/tezos-docker-manager.sh src/bin_client/bash-completion.sh active_protocol_versions /home/tezos/scripts/

# Although alphanet.sh has been replaced by tezos-docker-manager.sh,
# the built-in auto-update mechanism expects an alphanet.sh script to exist.
# So we keep it for a while as a symbolic link.
CMD ["ln", "-s", "tezos-docker-manager.sh", "/home/tezos/scripts/alphanet.sh"]

FROM ${BASE_IMAGE}:${BASE_IMAGE_VERSION} as debug
ARG BUILD_IMAGE
ARG BUILD_IMAGE_VERSION
ARG COMMIT_SHORT_SHA
LABEL maintainer="contact@nomadic-labs.com" \
      org.label-schema.name="Tezos" \
      org.label-schema.docker.schema-version="1.0" \
      org.label-schema.description="Tezos node" \
      org.label-schema.url="https://www.nomadic-labs.com" \
      org.label-schema.vcs-url="https://gitlab.com/tezos/tezos" \
      org.label-schema.vcs-ref="${COMMIT_SHORT_SHA}" \
      org.label-schema.build-image="${BUILD_IMAGE}:${BUILD_IMAGE_VERSION}"

USER root
# hadolint ignore=DL3018
RUN apk --no-cache add vim
USER tezos

ENV EDITOR=/usr/bin/vi
COPY --chown=tezos:nogroup --from=intermediate /home/tezos/bin/ /usr/local/bin/
COPY --chown=tezos:nogroup --from=intermediate /home/tezos/scripts/ /usr/local/share/tezos/
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]


FROM ${BASE_IMAGE}:${BASE_IMAGE_VERSION_NON_MIN} as stripper
COPY --chown=tezos:nogroup --from=intermediate /home/tezos/bin/tezos-* /home/tezos/bin/
RUN chmod +rw /home/tezos/bin/tezos* && strip /home/tezos/bin/tezos*


FROM  ${BASE_IMAGE}:${BASE_IMAGE_VERSION} as bare
ARG BUILD_IMAGE
ARG BUILD_IMAGE_VERSION
ARG COMMIT_SHORT_SHA
LABEL maintainer="contact@nomadic-labs.com" \
      org.label-schema.name="Tezos" \
      org.label-schema.docker.schema-version="1.0" \
      org.label-schema.description="Tezos node" \
      org.label-schema.url="https://www.nomadic-labs.com" \
      org.label-schema.vcs-url="https://gitlab.com/tezos/tezos" \
      org.label-schema.vcs-ref="${COMMIT_SHORT_SHA}" \
      org.label-schema.build-image="${BUILD_IMAGE}:${BUILD_IMAGE_VERSION}"
COPY --chown=tezos:nogroup --from=stripper /home/tezos/bin/ /usr/local/bin/
COPY --chown=tezos:nogroup --from=intermediate /home/tezos/scripts/ /usr/local/share/tezos


FROM  ${BASE_IMAGE}:${BASE_IMAGE_VERSION} as minimal
ARG BUILD_IMAGE
ARG BUILD_IMAGE_VERSION
ARG COMMIT_SHORT_SHA
LABEL maintainer="contact@nomadic-labs.com" \
      org.label-schema.name="Tezos" \
      org.label-schema.docker.schema-version="1.0" \
      org.label-schema.description="Tezos node" \
      org.label-schema.url="https://www.nomadic-labs.com" \
      org.label-schema.vcs-url="https://gitlab.com/tezos/tezos" \
      org.label-schema.vcs-ref="${COMMIT_SHORT_SHA}" \
      org.label-schema.build-image="${BUILD_IMAGE}:${BUILD_IMAGE_VERSION}"

COPY --chown=tezos:nogroup --from=stripper /home/tezos/bin/ /usr/local/bin/
COPY --chown=tezos:nogroup --from=intermediate /home/tezos/bin/entrypoint.* /usr/local/bin/
COPY --chown=tezos:nogroup --from=intermediate /home/tezos/scripts/ /usr/local/share/tezos
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
back to top