-
Notifications
You must be signed in to change notification settings - Fork 61
/
Dockerfile-rust
24 lines (20 loc) · 1.34 KB
/
Dockerfile-rust
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
FROM rust:latest
LABEL maintainer="Fastly OSS <[email protected]>"
ENV RUST_TOOLCHAIN=stable
RUN rustup toolchain install ${RUST_TOOLCHAIN} \
&& rustup target add wasm32-wasi --toolchain ${RUST_TOOLCHAIN} \
&& apt-get update && apt-get install -y curl jq && apt-get -y clean && rm -rf /var/lib/apt/lists/* \
&& export FASTLY_CLI_VERSION=$(curl -s https://api.github.com/repos/fastly/cli/releases/latest | jq -r .tag_name | cut -d 'v' -f 2) \
GOARCH=$(dpkg --print-architecture) \
&& curl -sL "https://github.com/fastly/cli/releases/download/v${FASTLY_CLI_VERSION}/fastly_v${FASTLY_CLI_VERSION}_linux-$GOARCH.tar.gz" -o fastly.tar.gz \
&& curl -sL "https://github.com/fastly/cli/releases/download/v${FASTLY_CLI_VERSION}/fastly_v${FASTLY_CLI_VERSION}_SHA256SUMS" -o sha256sums \
&& dlsha=$(shasum -a 256 fastly.tar.gz | cut -d " " -f 1) && expected=$(cat sha256sums | awk -v pat="$dlsha" '$0~pat' | cut -d " " -f 1) \
&& if [ "$dlsha" != "$expected" ]; then echo "shasums don't match" && exit 1; fi \
&& tar -xzf fastly.tar.gz --directory /usr/bin && rm -f sha256sums fastly.tar.gz \
&& useradd -ms /bin/bash fastly
USER fastly
WORKDIR /app
ENTRYPOINT ["/usr/bin/fastly"]
CMD ["--help"]
# docker build -t fastly/cli/rust . -f ./Dockerfile-rust
# docker run -v $PWD:/app -it -p 7676:7676 fastly/cli/rust compute serve --addr="0.0.0.0:7676"