mirror of
https://github.com/samsonjs/agate.git
synced 2026-03-25 09:05:50 +00:00
Refactor Dockerfile for multi-stage build
This commit is contained in:
parent
dbd6eab17f
commit
fcbf73dcef
4 changed files with 30 additions and 11 deletions
7
.dockerignore
Normal file
7
.dockerignore
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
**
|
||||||
|
|
||||||
|
!src/**
|
||||||
|
!tools/docker/**
|
||||||
|
!Cross.toml
|
||||||
|
!Cargo.toml
|
||||||
|
!Cargo.lock
|
||||||
18
Dockerfile
Normal file
18
Dockerfile
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
FROM docker.io/library/rust:alpine AS builder
|
||||||
|
# RUN wget -O source.tar.gz $(wget -qO- https://api.github.com/repos/mbrubeck/agate/releases/latest | sed -nE 's/^.*"tarball_url"\s*:\s*"([^"]+)".*$/\1/p')&& tar xzf source.tar.gz && \
|
||||||
|
# mv mbrubeck-agate-* /agate
|
||||||
|
|
||||||
|
WORKDIR /agate
|
||||||
|
COPY src src
|
||||||
|
COPY Cargo.toml .
|
||||||
|
COPY Cargo.lock .
|
||||||
|
COPY Cross.toml .
|
||||||
|
RUN apk --no-cache add libc-dev && \
|
||||||
|
cargo install --target x86_64-unknown-linux-musl --path .
|
||||||
|
|
||||||
|
FROM docker.io/library/alpine:latest
|
||||||
|
COPY --from=builder /usr/local/cargo/bin/agate /usr/bin/agate
|
||||||
|
WORKDIR /app
|
||||||
|
COPY tools/docker/start.sh /app
|
||||||
|
ENTRYPOINT ["/bin/sh", "start.sh"]
|
||||||
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
FROM alpine:latest
|
|
||||||
RUN apk add cargo && wget -O source.tar.gz $(wget -qO- https://api.github.com/repos/mbrubeck/agate/releases/latest | sed -nE 's/^.*"tarball_url"\s*:\s*"([^"]+)".*$/\1/p')&& tar xzf source.tar.gz && mv /mbrubeck-agate-* /agate && cd agate && cargo build --release
|
|
||||||
RUN cp /agate/target/release/agate /usr/bin/agate
|
|
||||||
WORKDIR /app
|
|
||||||
COPY . /app
|
|
||||||
ADD . .
|
|
||||||
ENTRYPOINT ["/bin/sh", "start.sh"]
|
|
||||||
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
exec agate --content /gmi/ \
|
echo "Using hostname ${HOSTNAME:-localhost}"
|
||||||
--hostname ${HOSTNAME} \
|
echo "Using lang ${LANG:-en-US}"
|
||||||
--lang ${LANG}
|
|
||||||
|
|
||||||
|
exec agate --content /gmi/ \
|
||||||
|
--hostname "${HOSTNAME:-localhost}" \
|
||||||
|
--lang "${LANG:-en-US}"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue