FROM ubuntu:22.04 LABEL author="Chris Lu" # Use faster mirrors and optimize package installation # Note: This e2e test image intentionally runs as root for simplicity and compatibility. # Production images (Dockerfile.go_build) use proper user isolation with su-exec. # For testing purposes, running as root avoids permission complexities and dependency # on Alpine-specific tools like su-exec (not available in Ubuntu repos). RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y \ --no-install-recommends \ --no-install-suggests \ curl \ fio \ fuse \ ca-certificates \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* \ && rm -rf /tmp/* \ && rm -rf /var/tmp/* RUN mkdir -p /etc/seaweedfs /data/filerldb2 COPY ./weed /usr/bin/ COPY ./filer.toml /etc/seaweedfs/filer.toml COPY ./entrypoint_e2e.sh /entrypoint.sh # volume server grpc port EXPOSE 18080 # volume server http port EXPOSE 8080 # filer server grpc port EXPOSE 18888 # filer server http port EXPOSE 8888 # master server shared grpc port EXPOSE 19333 # master server shared http port EXPOSE 9333 VOLUME /data WORKDIR /data RUN chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"]