-
Notifications
You must be signed in to change notification settings - Fork 73
Description
NOTE: The existence of this issue does not mean the feature has been accepted or will be added in the future. This is to act as a discussion board.
There has been some discussion around the creation of an official Runway docker image. We have had one in the past but, stoped maintaining with the release of Runway executable binaries. We also move away from an official image to encourage best practices around dependency management.
Reasons To Publish An Image
- being able to use
FROM onica/runway:...in a Dockerfile
Reasons Not To Publish An Image
- being able to use
RUN curl -i oni.ca/runway/...in a Dockerfile to install Runway without needing any other dependencies - encourages bad practices around dependency management
- big concern when considering packing all of Runway's dependencies into one image
- could be slightly mitigated by including the bare minimum in the image (only python and Runway)
- the image would be large and overly bloated for most use cases if it included all potential dependencies of Runway
- an image with all possible Runway dependencies will be unmaintainable (e.g. python 2.7, python 3.7, python 3.8, ..., node 12, ..., node 14, ..., terraform 12, etc)
Potential Solution
This is a potential solution open for discussion. It has not been accepted as a feature and will not be implemented yet.
Create 4 top-level images containing the minimum requirements to use Runway (python and Runway).
runway:alpine-py37-${RunwayVersion}runway:alpine-py38-${RunwayVersion}runway:ubuntu-py37-${RunwayVersion}runway:ubuntu-py38-${RunwayVersion}
When a new version of Runway is released, Docker Hub will build, test, and publish a new tagged release with the new version of Runway.