Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/janeliascicomp/entrypoints
Support multiple entrypoint scripts in a container for use in containerized scientific tools.
https://github.com/janeliascicomp/entrypoints
docker entrypoint oci
Last synced: 1 day ago
JSON representation
Support multiple entrypoint scripts in a container for use in containerized scientific tools.
- Host: GitHub
- URL: https://github.com/janeliascicomp/entrypoints
- Owner: JaneliaSciComp
- License: bsd-3-clause
- Created: 2021-01-02T02:30:31.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2021-01-03T20:07:50.000Z (almost 4 years ago)
- Last Synced: 2024-11-08T14:24:04.607Z (about 2 months ago)
- Topics: docker, entrypoint, oci
- Language: Go
- Homepage:
- Size: 17.6 KB
- Stars: 1
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Entrypoints
Simple support for multiple entrypoint scripts in an OCI container. Just install this tiny binary as your ENTRYPOINT and put all of your entrypoint shell scripts in one directory. The binary takes care of providing a listing of valid "apps" and lets the user invoke them without knowing the internals of the container filesystem.
## Installation
The following Dockerfile commands install the `entrypoint` binary into /app/entrypoints and set it as the entrypoint:
```
ARG ENTRYPOINTS_VERSION=latest
WORKDIR app
RUN curl -sL https://github.com/JaneliaSciComp/entrypoints/releases/download/${ENTRYPOINTS_VERSION}/entrypoints_linux_x86_64.tar.gz | tar -xz -C /app
ENTRYPOINT [ "/app/entrypoints", "-s", "/app/scripts/cmd" ]
```A multi-stage build is recommended to improve build speed:
```
FROM janeliascicomp/common-tools:1.0.2 as entrypoints-builder
ARG ENTRYPOINTS_VERSION=0.1.1
RUN curl -sL https://github.com/JaneliaSciComp/entrypoints/releases/download/${ENTRYPOINTS_VERSION}/entrypoints_linux_x86_64.tar.gz | tar -xz -C /tmp
```In the final container:
```
COPY --from=entrypoints-builder --chown=root:root /tmp/entrypoints /app/entrypoints
ENTRYPOINT [ "/app/entrypoints", "-s", "/app/scripts/cmd" ]```
See also: [SCIF](https://sci-f.github.io/)
## Development
### Build
```
go install
```### Release
```
VERSION=
git tag -a $VERSION -m "Release $VERSION"
git push origin $VERSION
goreleaser --rm-dist
```