Konstantin Lebedev
3 years ago
5 changed files with 69 additions and 46 deletions
-
3.github/workflows/container_release2.yml
-
58.github/workflows/container_release4.yml
-
3docker/Dockerfile.go_build
-
43docker/Dockerfile.go_build_large
-
8docker/Makefile
@ -0,0 +1,58 @@ |
|||||
|
name: "docker: build release containers for all tags" |
||||
|
|
||||
|
on: |
||||
|
push: |
||||
|
tags: |
||||
|
- '*' |
||||
|
workflow_dispatch: [] |
||||
|
|
||||
|
permissions: |
||||
|
contents: read |
||||
|
|
||||
|
jobs: |
||||
|
build-default-release-container: |
||||
|
runs-on: [ubuntu-latest] |
||||
|
|
||||
|
steps: |
||||
|
- |
||||
|
name: Checkout |
||||
|
uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2 |
||||
|
- |
||||
|
name: Docker meta |
||||
|
id: docker_meta |
||||
|
uses: docker/metadata-action@69f6fc9d46f2f8bf0d5491e4aabe0bb8c6a4678a # v3 |
||||
|
with: |
||||
|
images: | |
||||
|
chrislusf/seaweedfs |
||||
|
tags: | |
||||
|
type=ref,event=tag,suffix=_full |
||||
|
flavor: | |
||||
|
latest=false |
||||
|
labels: | |
||||
|
org.opencontainers.image.title=seaweedfs |
||||
|
org.opencontainers.image.description=SeaweedFS is a distributed storage system for blobs, objects, files, and data lake, to store and serve billions of files fast! |
||||
|
org.opencontainers.image.vendor=Chris Lu |
||||
|
- |
||||
|
name: Set up QEMU |
||||
|
uses: docker/setup-qemu-action@8b122486cedac8393e77aa9734c3528886e4a1a8 # v1 |
||||
|
- |
||||
|
name: Set up Docker Buildx |
||||
|
uses: docker/setup-buildx-action@dc7b9719a96d48369863986a06765841d7ea23f6 # v1 |
||||
|
- |
||||
|
name: Login to Docker Hub |
||||
|
if: github.event_name != 'pull_request' |
||||
|
uses: docker/login-action@49ed152c8eca782a232dede0303416e8f356c37b # v1 |
||||
|
with: |
||||
|
username: ${{ secrets.DOCKER_USERNAME }} |
||||
|
password: ${{ secrets.DOCKER_PASSWORD }} |
||||
|
- |
||||
|
name: Build |
||||
|
uses: docker/build-push-action@e551b19e49efd4e98792db7592c17c09b89db8d8 # v2 |
||||
|
with: |
||||
|
context: ./docker |
||||
|
push: ${{ github.event_name != 'pull_request' }} |
||||
|
file: ./docker/Dockerfile.go_build |
||||
|
build-args: TAGS=elastic,ydb,gocdk,hdfs |
||||
|
platforms: linux/amd64 |
||||
|
tags: ${{ steps.docker_meta.outputs.tags }} |
||||
|
labels: ${{ steps.docker_meta.outputs.labels }} |
@ -1,43 +0,0 @@ |
|||||
FROM golang:1.18-alpine as builder |
|
||||
RUN apk add git g++ fuse |
|
||||
RUN mkdir -p /go/src/github.com/chrislusf/ |
|
||||
RUN git clone https://github.com/chrislusf/seaweedfs /go/src/github.com/chrislusf/seaweedfs |
|
||||
ARG BRANCH=${BRANCH:-master} |
|
||||
RUN cd /go/src/github.com/chrislusf/seaweedfs && git checkout $BRANCH |
|
||||
RUN cd /go/src/github.com/chrislusf/seaweedfs/weed \ |
|
||||
&& export LDFLAGS="-X github.com/chrislusf/seaweedfs/weed/util.COMMIT=$(git rev-parse --short HEAD)" \ |
|
||||
&& CGO_ENABLED=0 go install -tags 5BytesOffset -ldflags "-extldflags -static ${LDFLAGS}" |
|
||||
|
|
||||
FROM alpine AS final |
|
||||
LABEL author="Chris Lu" |
|
||||
COPY --from=builder /go/bin/weed /usr/bin/ |
|
||||
RUN mkdir -p /etc/seaweedfs |
|
||||
COPY --from=builder /go/src/github.com/chrislusf/seaweedfs/docker/filer.toml /etc/seaweedfs/filer.toml |
|
||||
COPY --from=builder /go/src/github.com/chrislusf/seaweedfs/docker/entrypoint.sh /entrypoint.sh |
|
||||
RUN apk add fuse # for weed mount |
|
||||
|
|
||||
# volume server gprc port |
|
||||
EXPOSE 18080 |
|
||||
# volume server http port |
|
||||
EXPOSE 8080 |
|
||||
# filer server gprc port |
|
||||
EXPOSE 18888 |
|
||||
# filer server http port |
|
||||
EXPOSE 8888 |
|
||||
# master server shared gprc port |
|
||||
EXPOSE 19333 |
|
||||
# master server shared http port |
|
||||
EXPOSE 9333 |
|
||||
# s3 server http port |
|
||||
EXPOSE 8333 |
|
||||
# webdav server http port |
|
||||
EXPOSE 7333 |
|
||||
|
|
||||
RUN mkdir -p /data/filerldb2 |
|
||||
|
|
||||
VOLUME /data |
|
||||
WORKDIR /data |
|
||||
|
|
||||
RUN chmod +x /entrypoint.sh |
|
||||
|
|
||||
ENTRYPOINT ["/entrypoint.sh"] |
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue