FROM docker.io/library/ubuntu:20.04 # metadata ARG VCS_REF ARG BUILD_DATE ARG IMAGE_NAME LABEL io.parity.image.authors="devops-team@parity.io" \ io.parity.image.vendor="Parity Technologies" \ io.parity.image.title="${IMAGE_NAME}" \ io.parity.image.description="Cumulus, the Polkadot collator." \ io.parity.image.source="https://github.com/paritytech/polkadot/blob/${VCS_REF}/scripts/docker/Dockerfile" \ io.parity.image.revision="${VCS_REF}" \ io.parity.image.created="${BUILD_DATE}" \ io.parity.image.documentation="https://github.com/paritytech/cumulus/" # show backtraces ENV RUST_BACKTRACE 1 # install tools and dependencies RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y \ libssl1.1 \ ca-certificates \ curl && \ # apt cleanup apt-get autoremove -y && \ apt-get clean && \ find /var/lib/apt/lists/ -type f -not -name lock -delete; \ # add user and link ~/.local/share/polkadot to /data useradd -m -u 1000 -U -s /bin/sh -d /polkadot polkadot && \ mkdir -p /data /polkadot/.local/share && \ chown -R polkadot:polkadot /data && \ ln -s /data /polkadot/.local/share/polkadot && \ mkdir -p /specs # add polkadot-parachain binary to the docker image COPY ./target/release/polkadot-parachain /usr/local/bin COPY ./target/release/polkadot-parachain.asc /usr/local/bin COPY ./target/release/polkadot-parachain.sha256 /usr/local/bin COPY ./parachains/chain-specs/*.json /specs/ USER polkadot # check if executable works in this container RUN /usr/local/bin/polkadot-parachain --version EXPOSE 30333 9933 9944 VOLUME ["/polkadot"] ENTRYPOINT ["/usr/local/bin/polkadot-parachain"]