Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resolves "Alpine version of container #32" #40

Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions alpine/2.3.6/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Only alpine version that suports rethinkdb is edge
FROM alpine:edge
Copy link
Collaborator

@stuartpb stuartpb Aug 31, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If there's no stable version of Alpine that supports RethinkDB, then we probably shouldn't be packaging for it yet (at least, not as the new base for the official image). The few Dockerfiles in the official library that are packaged for Alpine (by a cursory sampling of images I'd expect to see migrated, it would seem that the announcement of increased forward adoption of Alpine a year and a half ago has been greatly exaggerated) don't do it without pinning a specific release, and edge is considered unsuitable for production.

Alternately, this could be listed as a Dockerfile for Alpine Edge, but it would need to go in a subdirectory for Alpine release versions (just as the repo is currently divided into separate directories for different Debian and Ubuntu releases). If doing this, I'd introduce a top-level distro directory level to the hierarchy (ie. moving the repo's jessie directory to debian/jessie) - I skipped this when originally creating the repo because, at the time I originally devised the current hierarchy, the intersection of "distros with official Docker images" and "distros that RethinkDB upstream builds packages for" was exclusively limited to the Debian / Ubuntu non-conflicting-named-release family.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually Alpine 3.7 stable ships RethinkDB, no need for edge.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As I noted 26 days ago, Alpine's actually been packaging RethinkDB since 3.5.


Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs a maintainer line. Right now, all Dockerfiles list @dalanmiller as maintainer (example: https://github.com/rethinkdb/rethinkdb-dockerfiles/blob/master/jessie/2.3.6/Dockerfile#L3), but, per docker-library/official-images#3332 (comment), we should probably change these to @AtnNn. (For now, I'd stick with copying the @dalanmiller credit, to make one-shot updating everything simpler.)

ENV RETHINKDB_VERSION 2.3.6-r1
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For consistency and compatibility with the images for other distros, this should be RETHINKDB_PACKAGE_VERSION, as it is in the Debian dockerfiles (see https://github.com/rethinkdb/rethinkdb-dockerfiles/blob/master/jessie/2.3.6/Dockerfile#L10 for an example).

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason why you want to pin a version? Current release on Alpine 3.7 is -r4


RUN apk add --no-cache \
rethinkdb=$RETHINKDB_VERSION

VOLUME ["/data"]

WORKDIR /data

EXPOSE 28015 29015 8080
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd prefer it if the EXPOSE directive were moved to come after CMD, with the comment stating which ports are which, the way it is in the other Dockerfiles.


CMD ["rethinkdb", "--bind", "all"]