Base Images for Hanami 1.2.0
These images are built from jdickey
's Customised Ruby Builds, with tags matching a subset of those in the base image. This leads to a bit of complexity, as we now have three significant (conceptual) versioned layers that the users of these images should care about: the base operating system (Debian Jessie or Stretch, Alpine); the version of Ruby being used (currently, 2.4.3, 2.4.4, 2.5.0, or 2.5.1); and the version of the Hanami framework (here, Version 1.2.0; current as of this writing). Encoding all three version identifiers into a single tag name could lead to tags such as 1.2.0-stretch-2.5.0
or, worse, 1.2.0-2.5.0
(implying "whatever the current default base OS is"). Does anyone not have problems with this? Hence, this repo will concern itself with only Hanami 1.2.0; future releases of Hanami are expected to be supported by congruently-structured and -tagged but separate Docker image repos, as has been done for Hanami 1.1.0 and 1.1.1.
The build process is patterned after that used for Version 0.11.1 and later of the Hanami 1.1.1 base image repo. This uses a Ruby CLI-driven script to dynamically build a sequence of in-memory Dockerfile
text sequences, and builds them dynamically using the docker-api
Gem. While building the Dockerfile
for a particular image, a sequence of gem install
commands is RUN
based on whether the image is or is not built with the hanami-model
Gem, and whether or not it is built with the capybara
Gem, useful for testing. Using capybara
also requires operating-system support, including the Qt
GUI toolkit, which adds significant size to the image being built.
One consequence of this is that building the entire set of base images takes significantly less time as running a sequence of docker build
command-line invocations.
Each built image encodes four items of information about itself into its image name:
-
the version of Ruby installed in the image (currently, MRI 2.4.3, 2.5.0, or 2.5.1);
-
the base operating system used to build the image (Debian Jessie, slimmed-down Debian Jessie, Debian Stretch, slimmed-down Debian Stretch, or Alpine 3.7);
-
whether the image includes the
hanami-model
Gem and its supporting Gems (but not any specific database-access Gems such assqlite
orpg
); and -
whether the image includes the Qt windowing toolkit, needed for the Capybara test-automation library and the
capybara-webkit
headless browser.
Examples might be 2.5.1-alpine-hm-no-qt
or 2.4.2-jessie-no-hm-qt
.
Additional tags are created as synonyms for the as-built tags. For example, the 2.4-jessie-hm-qt
tag refers to the latest 2.4.x Ruby version (currently, 2.4.4). Similarly, the 2-no-hm-no-qt
tag refers to the latest 2.x version of Ruby, which is presently 2.5.1 built on Debian Stretch. Finally, tags which do not name a particular base OS (jessie
, stretch
, or alpine
) refer to what has been designated the "default" for a specific Ruby version, which is generally in accordance with the defaults for the official Ruby images. 2.4
is a synonym for 2.4.4-jessie-hm-qt
, and 2.5
is a synonym for 2.5.1-alpine-hm-qt
.
The full list of tags follows, as a sequence of lists. Each list starts with the base tag used when that image was first generated. List items below that are alternatives to (aliases for) the base tag. Note that pulling the image without specifying a tag will pull the latest
image, which is the same image as 2.5.0-stretch-hm-qt
. The alternative tags expected to be most commonly used are listed; however, in general, the use of the base image name is strongly recommended.
These images are expected to be used more for development and testing than for production deployment, since they include Qt and Capybara, which bloat the images considerably but are not orinarily used in production.
Note that the Debian images have "normal" images (stretch
or jessie
) as well as "slim" images (stretch-slim
or jessie-slim
). The "slim" images have fewer packages installed by default, and thus use less disk space for the base image, but are still considerably larger than equivalent alpine
images.
-
Base image tag:
2.5.1-alpine3.7-hm-qt
- Common alternative tags:
2.5-alpine3.7-hm-qt
2-alpine3.7-hm-qt
alpine3.7-hm-qt
2.5.1-alpine3.7
2.5-alpine3.7
2-alpine3.7
alpine3.7
2.5.1-alpine37-hm-qt
2.5-alpine37-hm-qt
2-alpine37-hm-qt
alpine37-hm-qt
2.5.1-alpine37
2.5-alpine37
2-alpine37
alpine37
2.5.1-alpine-hm-qt
2.5-alpine-hm-qt
2-alpine-hm-qt
alpine-hm-qt
2.5.1-alpine
2.5-alpine
2-alpine
alpine
- All tags for image:
2.5-alpine3.7-hm-qt
2-alpine3.7-hm-qt
alpine3.7-hm-qt
2.5.1-alpine3.7
2.5-alpine3.7
2-alpine3.7
alpine3.7
2.5.1-alpine37-hm-qt
2.5-alpine37-hm-qt
2-alpine37-hm-qt
alpine37-hm-qt
2.5.1-alpine37
2.5-alpine37
2-alpine37
alpine37
2.5.1-alpine-hm-qt
2.5-alpine-hm-qt
2-alpine-hm-qt
alpine-hm-qt
2.5.1-alpine
2.5-alpine
2-alpine
alpine
- Common alternative tags:
-
Base image tag:
2.5.1-stretch-hm-qt
- Common alternative tags:
2.5.1-hm-qt
2.5-stretch-hm-qt
2.5-hm-qt
2-stretch-hm-qt
2-hm-qt
stretch-hm-qt
hm-qt
2.5-stretch
2-stretch
stretch
2.5.1
2.5
2
- All tags for image:
2.5.1-hm-qt
2.5-stretch-hm-qt
2.5-hm-qt
2-stretch-hm-qt
2-hm-qt
stretch-hm-qt
hm-qt
2.5-stretch
2-stretch
stretch
2.5.1
2.5
2
- Common alternative tags:
-
Base image tag:
2.5.1-slim-stretch-hm-qt
- Common alternative tags:
2.5.1-slim-hm-qt
2.5-slim-stretch-hm-qt
2.5-slim-hm-qt
2-slim-stretch-hm-qt
2-slim-hm-qt
2-slim-stretch-hm-qt
2-slim-hm-qt
slim-stretch-hm-qt
slim-hm-qt
2.5-slim-stretch
2-slim-stretch
slim-stretch
2.5.1-slim
2.5-slim
2-slim
slim
- All tags for image:
2.5.1-slim-hm-qt
2.5-slim-stretch-hm-qt
2.5-slim-hm-qt
2-slim-stretch-hm-qt
2-slim-hm-qt
2-slim-stretch-hm-qt
2-slim-hm-qt
slim-stretch-hm-qt
slim-hm-qt
2.5-slim-stretch
2-slim-stretch
slim-stretch
2.5.1-slim
2.5-slim
2-slim
slim
- Common alternative tags:
-
Base image tag:
2.5.0-alpine3.7-hm-qt
- Common alternative tags:
2.5.0-alpine3.7
2.5.0-alpine37-hm-qt
2.5.0-alpine37
2.5.0-alpine-hm-qt
2.5.0-alpine
- All tags for image:
2.5.0-alpine3.7
2.5.0-alpine37-hm-qt
2.5.0-alpine37
2.5.0-alpine-hm-qt
2.5.0-alpine
- Common alternative tags:
-
Base image tag:
2.5.0-stretch-hm-qt
- Common alternative tags:
2.5.0-hm-qt
2.5.0
- All tags for image:
2.5.0-hm-qt
2.5.0
- Common alternative tags:
-
Base image tag:
2.5.0-slim-stretch-hm-qt
- Common alternative tags:
2.5.0-slim-hm-qt
2.5.0-slim
- All tags for image:
2.5.0-slim-hm-qt
2.5.0-slim
- Common alternative tags:
-
Base image tag:
2.4.4-jessie-hm-qt
- Common alternative tags:
2.4-jessie-hm-qt
2.4.4-hm-qt
2.4.4
2.4-hm-qt
2.4
- All tags for image:
2.4-jessie-hm-qt
2.4.4-hm-qt
2.4.4
2.4-hm-qt
2.4
- Common alternative tags:
-
Base image tag:
2.4.4-slim-jessie-hm-qt
- Common alternative tags:
2.4-slim-jessie-hm-qt
2.4.4-slim-hm-qt
2.4-slim-hm-qt
2.4.4-slim
2.4-slim
- All tags for image:
2.4-slim-jessie-hm-qt
2.4.4-slim-hm-qt
2.4-slim-hm-qt
2.4.4-slim
2.4-slim
- Common alternative tags:
-
Base image tag:
2.4.3-jessie-hm-qt
- Common alternative tags:
2.4.3-hm-qt
2.4.3
- All tags for image:
2.4.3-hm-qt
2.4.3
- Common alternative tags:
-
Base image tag:
2.4.3-slim-jessie-hm-qt
- Common alternative tags:
2.4.3-slim-hm-qt
2.4.3-slim
- All tags for image:
2.4.3-slim-hm-qt
2.4.3-slim
- Common alternative tags:
-
Base image tag:
2.5.1-alpine3.7-no-hm-qt
- Common alternative tags:
2.5-alpine3.7-no-hm-qt
2-alpine3.7-no-hm-qt
alpine3.7-no-hm-qt
2.5.1-alpine3.7-no-hm
2.5-alpine3.7-no-hm
2-alpine3.7-no-hm
alpine3.7-no-hm
2.5.1-alpine37-no-hm-qt
2.5-alpine37-no-hm-qt
2-alpine37-no-hm-qt
alpine37-no-hm-qt
2.5.1-alpine37-no-hm
2.5-alpine37-no-hm
2-alpine37-no-hm
alpine37-no-hm
2.5.1-alpine-no-hm-qt
2.5-alpine-no-hm-qt
2-alpine-no-hm-qt
alpine-no-hm-qt
2.5.1-alpine-no-hm
2.5-alpine-no-hm
2-alpine-no-hm
alpine-no-hm
- All tags for image:
2.5-alpine3.7-no-hm-qt
2-alpine3.7-no-hm-qt
alpine3.7-no-hm-qt
2.5.1-alpine3.7-no-hm
2.5-alpine3.7-no-hm
2-alpine3.7-no-hm
alpine3.7-no-hm
2.5.1-alpine37-no-hm-qt
2.5-alpine37-no-hm-qt
2-alpine37-no-hm-qt
alpine37-no-hm-qt
2.5.1-alpine37-no-hm
2.5-alpine37-no-hm
2-alpine37-no-hm
alpine37-no-hm
2.5.1-alpine-no-hm-qt
2.5-alpine-no-hm-qt
2-alpine-no-hm-qt
alpine-no-hm-qt
2.5.1-alpine-no-hm
2.5-alpine-no-hm
2-alpine-no-hm
alpine-no-hm
- Common alternative tags:
-
Base image tag:
2.5.1-stretch-no-hm-qt
- Common alternative tags:
2.5.1-no-hm-qt
2.5-stretch-no-hm-qt
2.5-no-hm-qt
2-stretch-no-hm-qt
2-no-hm-qt
stretch-no-hm-qt
no-hm-qt
stretch-no-hm
- All tags for image:
2.5.1-no-hm-qt
2.5-stretch-no-hm-qt
2.5-no-hm-qt
2-stretch-no-hm-qt
2-no-hm-qt
stretch-no-hm-qt
no-hm-qt
stretch-no-hm
- Common alternative tags:
-
Base image tag:
2.5.1-slim-stretch-no-hm-qt
- Common alternative tags:
2.5.1-slim-no-hm-qt
2.5-slim-stretch-no-hm-qt
2.5-slim-no-hm-qt
2-slim-stretch-no-hm-qt
2-slim-no-hm-qt
2-slim-stretch-no-hm-qt
2-slim-no-hm-qt
slim-stretch-no-hm-qt
slim-no-hm-qt
slim-no-hm
2.5-slim-stretch-no-hm
2-slim-stretch-no-hm
slim-stretch-no-hm
- All tags for image:
2.5.1-slim-no-hm-qt
2.5-slim-stretch-no-hm-qt
2.5-slim-no-hm-qt
2-slim-stretch-no-hm-qt
2-slim-no-hm-qt
2-slim-stretch-no-hm-qt
2-slim-no-hm-qt
slim-stretch-no-hm-qt
slim-no-hm-qt
slim-no-hm
2.5-slim-stretch-no-hm
2-slim-stretch-no-hm
slim-stretch-no-hm
- Common alternative tags:
-
Base image tag:
2.5.0-alpine3.7-no-hm-qt
- Common alternative tags:
2.5.0-alpine3.7-no-hm
2.5.0-alpine37-no-hm-qt
2.5.0-alpine37-no-hm
2.5.0-alpine-no-hm-qt
2.5.0-alpine-no-hm
- All tags for image:
2.5.0-alpine3.7-no-hm
2.5.0-alpine37-no-hm-qt
2.5.0-alpine37-no-hm
2.5.0-alpine-no-hm-qt
2.5.0-alpine-no-hm
- Common alternative tags:
-
Base image tag:
2.5.0-stretch-no-hm-qt
- Common alternative tags:
2.5.0-no-hm-qt
- All tags for image:
2.5.0-no-hm-qt
- Common alternative tags:
-
Base image tag:
2.5.0-slim-stretch-no-hm-qt
- Common alternative tags:
2.5.0-slim-no-hm-qt
- All tags for image:
2.5.0-slim-no-hm-qt
- Common alternative tags:
-
Base image tag:
2.4.4-jessie-no-hm-qt
- Common alternative tags:
2.4-jessie-no-hm-qt
2.4.4-no-hm-qt
2.4-no-hm-qt
- All tags for image:
2.4-jessie-no-hm-qt
2.4.4-no-hm-qt
2.4-no-hm-qt
- Common alternative tags:
-
Base image tag:
2.4.4-slim-jessie-no-hm-qt
- Common alternative tags:
2.4-slim-jessie-no-hm-qt
2.4.4-slim-no-hm-qt
2.4-slim-no-hm-qt
- All tags for image:
2.4-slim-jessie-no-hm-qt
2.4.4-slim-no-hm-qt
2.4-slim-no-hm-qt
- Common alternative tags:
-
Base image tag:
2.4.3-jessie-no-hm-qt
- Common alternative tags:
2.4.3-no-hm-qt
- All tags for image:
2.4.3-no-hm-qt
- Common alternative tags:
-
Base image tag:
2.4.3-slim-jessie-no-hm-qt
- Common alternative tags:
2.4.3-slim-no-hm-qt
- All tags for image:
2.4.3-slim-no-hm-qt
- Common alternative tags:
-
Base image tag:
2.5.1-alpine3.7-hm-no-qt
- Common alternative tags:
2.5-alpine3.7-hm-no-qt
2-alpine3.7-hm-no-qt
alpine3.7-hm-no-qt
2.5.1-alpine3.7-no-qt
2.5-alpine3.7-no-qt
2-alpine3.7-no-qt
alpine3.7-no-qt
2.5.1-alpine37-hm-no-qt
2.5-alpine37-hm-no-qt
2-alpine37-hm-no-qt
alpine37-hm-no-qt
2.5.1-alpine37-no-qt
2.5-alpine37-no-qt
2-alpine37-no-qt
alpine37-no-qt
2.5.1-alpine-hm-no-qt
2.5-alpine-hm-no-qt
2-alpine-hm-no-qt
alpine-hm-no-qt
2.5.1-alpine-no-qt
2.5-alpine-no-qt
2-alpine-no-qt
alpine-no-qt
- All tags for image:
2.5-alpine3.7-hm-no-qt
2-alpine3.7-hm-no-qt
alpine3.7-hm-no-qt
2.5.1-alpine3.7-no-qt
2.5-alpine3.7-no-qt
2-alpine3.7-no-qt
alpine3.7-no-qt
2.5.1-alpine37-hm-no-qt
2.5-alpine37-hm-no-qt
2-alpine37-hm-no-qt
alpine37-hm-no-qt
2.5.1-alpine37-no-qt
2.5-alpine37-no-qt
2-alpine37-no-qt
alpine37-no-qt
2.5.1-alpine-hm-no-qt
2.5-alpine-hm-no-qt
2-alpine-hm-no-qt
alpine-hm-no-qt
2.5.1-alpine-no-qt
2.5-alpine-no-qt
2-alpine-no-qt
alpine-no-qt
- Common alternative tags:
-
Base image tag:
2.5.1-stretch-hm-no-qt
- Common alternative tags:
2.5.1-hm-no-qt
2.5-stretch-hm-no-qt
2.5-hm-no-qt
2-stretch-hm-no-qt
2-hm-no-qt
hm-no-qt
stretch-hm-no-qt
stretch-no-qt
no-qt
- All tags for image:
2.5.1-hm-no-qt
2.5-stretch-hm-no-qt
2.5-hm-no-qt
2-stretch-hm-no-qt
2-hm-no-qt
hm-no-qt
stretch-hm-no-qt
stretch-no-qt
no-qt
- Common alternative tags:
-
Base image tag:
2.5.1-slim-stretch-hm-no-qt
- Common alternative tags:
2.5.1-slim-hm-no-qt
2.5-slim-stretch-hm-no-qt
2.5-slim-hm-no-qt
2-slim-stretch-hm-no-qt
2-slim-hm-no-qt
2-slim-stretch-hm-no-qt
2-slim-hm-no-qt
slim-stretch-hm-no-qt
slim-hm-no-qt
2.5-slim-stretch-no-qt
2-slim-stretch-no-qt
slim-stretch-no-qt
2.5.1-slim-no-qt
2.5-slim-no-qt
2-slim-no-qt
slim-no-qt
- All tags for image:
2.5.1-slim-hm-no-qt
2.5-slim-stretch-hm-no-qt
2.5-slim-hm-no-qt
2-slim-stretch-hm-no-qt
2-slim-hm-no-qt
2-slim-stretch-hm-no-qt
2-slim-hm-no-qt
slim-stretch-hm-no-qt
slim-hm-no-qt
2.5-slim-stretch-no-qt
2-slim-stretch-no-qt
slim-stretch-no-qt
2.5.1-slim-no-qt
2.5-slim-no-qt
2-slim-no-qt
slim-no-qt
- Common alternative tags:
-
Base image tag:
2.5.0-alpine3.7-hm-no-qt
- Common alternative tags:
2.5.0-alpine3.7-no-qt
2.5.0-alpine37-hm-no-qt
2.5.0-alpine37-no-qt
2.5.0-alpine-hm-no-qt
2.5.0-alpine-no-qt
- All tags for image:
2.5.0-alpine3.7-no-qt
2.5.0-alpine37-hm-no-qt
2.5.0-alpine37-no-qt
2.5.0-alpine-hm-no-qt
2.5.0-alpine-no-qt
- Common alternative tags:
-
Base image tag:
2.5.0-stretch-hm-no-qt
- Common alternative tags:
2.5.0-hm-no-qt
- All tags for image:
2.5.0-hm-no-qt
- Common alternative tags:
-
Base image tag:
2.5.0-slim-stretch-hm-no-qt
- Common alternative tags:
2.5.0-slim-hm-no-qt
2.5.0-slim-no-qt
- All tags for image:
2.5.0-slim-hm-no-qt
2.5.0-slim-no-qt
- Common alternative tags:
-
Base image tag:
2.4.4-jessie-hm-no-qt
- Common alternative tags:
2.4.jessie-hm-no-qt
2.4.4-hm-no-qt
2.4-hm-no-qt
- All tags for image:
2.4.jessie-hm-no-qt
2.4.4-hm-no-qt
2.4-hm-no-qt
- Common alternative tags:
-
Base image tag:
2.4.4-slim-jessie-hm-no-qt
- Common alternative tags:
2.4-slim-jessie-hm-no-qt
2.4.4-slim-hm-no-qt
2.4-slim-hm-no-qt
- All tags for image:
2.4-slim-jessie-hm-no-qt
2.4.4-slim-hm-no-qt
2.4-slim-hm-no-qt
- Common alternative tags:
-
Base image tag:
2.4.3-jessie-hm-no-qt
- Common alternative tags:
2.4.3-hm-no-qt
- All tags for image:
2.4.3-hm-no-qt
- Common alternative tags:
-
Base image tag:
2.4.3-slim-jessie-hm-no-qt
- Common alternative tags:
2.4.3-slim-hm-no-qt
- All tags for image:
2.4.3-slim-hm-no-qt
- Common alternative tags:
-
Base image tag:
2.5.1-alpine3.7-no-hm-no-qt
- Common alternative tags:
2.5-alpine3.7-no-hm-no-qt
2-alpine3.7-no-hm-no-qt
alpine3.7-no-hm-no-qt
2.5.1-alpine37-no-hm-no-qt
2.5-alpine37-no-hm-no-qt
2-alpine37-no-hm-no-qt
alpine37-no-hm-no-qt
2.5.1-alpine37-no-hm-no-qt
2.5-alpine37-no-hm-no-qt
2-alpine37-no-hm-no-qt
alpine37-no-hm-no-qt
2.5.1-alpine-no-hm-no-qt
2.5-alpine-no-hm-no-qt
2-alpine-no-hm-no-qt
alpine-no-hm-no-qt
- All tags for image:
2.5-alpine3.7-no-hm-no-qt
2-alpine3.7-no-hm-no-qt
alpine3.7-no-hm-no-qt
2.5.1-alpine37-no-hm-no-qt
2.5-alpine37-no-hm-no-qt
2-alpine37-no-hm-no-qt
alpine37-no-hm-no-qt
2.5.1-alpine37-no-hm-no-qt
2.5-alpine37-no-hm-no-qt
2-alpine37-no-hm-no-qt
alpine37-no-hm-no-qt
2.5.1-alpine-no-hm-no-qt
2.5-alpine-no-hm-no-qt
2-alpine-no-hm-no-qt
alpine-no-hm-no-qt
- Common alternative tags:
-
Base image tag:
2.5.1-stretch-no-hm-no-qt
- Common alternative tags:
2.5.1-no-hm-no-qt
2.5-stretch-no-hm-no-qt
2.5-no-hm-no-qt
2-stretch-no-hm-no-qt
2-no-hm-no-qt
stretch-no-hm-no-qt
no-hm-no-qt
- All tags for image:
2.5.1-no-hm-no-qt
2.5-stretch-no-hm-no-qt
2.5-no-hm-no-qt
2-stretch-no-hm-no-qt
2-no-hm-no-qt
stretch-no-hm-no-qt
no-hm-no-qt
- Common alternative tags:
-
Base image tag:
2.5.1-slim-stretch-no-hm-no-qt
- Common alternative tags:
2.5.1-slim-no-hm-no-qt
2.5-slim-stretch-no-hm-no-qt
2.5-slim-no-hm-no-qt
2-slim-stretch-no-hm-no-qt
2-slim-no-hm-no-qt
slim-stretch-no-hm-no-qt
slim-no-hm-no-qt
- All tags for image:
2.5.1-slim-no-hm-no-qt
2.5-slim-stretch-no-hm-no-qt
2.5-slim-no-hm-no-qt
2-slim-stretch-no-hm-no-qt
2-slim-no-hm-no-qt
slim-stretch-no-hm-no-qt
slim-no-hm-no-qt
- Common alternative tags:
-
Base image tag:
2.5.0-alpine3.7-no-hm-no-qt
- Common alternative tags:
2.5.0-alpine37-no-hm-no-qt
2.5.0-alpine37-no-hm-no-qt
2.5.0-alpine-no-hm-no-qt
- All tags for image:
2.5.0-alpine37-no-hm-no-qt
2.5.0-alpine37-no-hm-no-qt
2.5.0-alpine-no-hm-no-qt
- Common alternative tags:
-
Base image tag:
2.5.0-stretch-no-hm-no-qt
- Common alternative tags:
2.5.0-no-hm-no-qt
- All tags for image:
2.5.0-no-hm-no-qt
- Common alternative tags:
-
Base image tag:
2.5.0-slim-stretch-no-hm-no-qt
- Common alternative tags:
2.5.0-slim-no-hm-no-qt
- All tags for image:
2.5.0-slim-no-hm-no-qt
- Common alternative tags:
-
Base image tag:
2.4.4-jessie-no-hm-no-qt
- Common alternative tags:
2.4-jessie-no-hm-no-qt
2.4.4-no-hm-no-qt
2.4-no-hm-no-qt
- All tags for image:
2.4-jessie-no-hm-no-qt
2.4.4-no-hm-no-qt
2.4-no-hm-no-qt
- Common alternative tags:
-
Base image tag:
2.4.4-slim-jessie-no-hm-no-qt
- Common alternative tags:
2.4-slim-jessie-no-hm-no-qt
2.4.4-slim-no-hm-no-qt
2.4-slim-no-hm-no-qt
- All tags for image:
2.4-slim-jessie-no-hm-no-qt
2.4.4-slim-no-hm-no-qt
2.4-slim-no-hm-no-qt
- Common alternative tags:
-
Base image tag:
2.4.3-jessie-no-hm-no-qt
- Common alternative tags:
2.4.3-no-hm-no-qt
- All tags for image:
2.4.3-no-hm-no-qt
- Common alternative tags:
-
Base image tag:
2.4.3-slim-jessie-no-hm-no-qt
- Common alternative tags:
2.4.3-slim-no-hm-no-qt
- All tags for image:
2.4.3-slim-no-hm-no-qt
- Common alternative tags:
These images install the hanami
and hanami-model
Gems, both Version 1.2.0, as well as the current versions at build time of:
gem install hanami:1.2.0 hanami-model:1.2.0 hanami-webconsole dotenv minitest shotgun
hanami-webconsole
;dotenv
;minitest
; andshotgun
Note that your app must include a view-template Gem supported by Hanami (erubis
for Erb, slim
, or haml
).
Also note that all four of the Gems listed above are useful for development/test, but you probably won't actually bundle any of them into a production build.
Though these images include hanami-model
and its dependencies, including rom
and rom-repository
, no database-specific interface Gem is included. Your app must include appropriate Gems for accessing your database engine of choice, such as pg
, sqlite3
, or others. By omitting those, these images can be used as the base images for apps using any Hanami-supported database engine.
Note that as of Gem version 1.1.0, hanami-model
only supports SQL-based databases, hence rom-sql
. Also note that the Sequel Gem version is significantly outdated; at this writing, the current version of sequel
is 5.6.0. Support for ROM Version 5+ is anticipated for hanami-model
2.0.0, expected in 2Q-3Q 2018.
These images are built using OS support for the Qt
windowing toolkit (required for the capybara-webkit
headless browser), as well as the capybara
Gem and its dependencies. This makes them significantly larger than the corresponding -no-qt
images; for example, the image jdickey/hanami-1.2.0-base:2.5.1-hm-qt
is 1.67 GB; the corresponding hm-no-qt
image is 1.37 GB, roughly 20% larger. (The 2.5.1-alpine-hm-qt
image, for comparison, is 1.08 GB; the 2.5.1-alpine-no-hm-no-qt
image, a "mere" 405 MB).
The capybara
Gem is essential for testing and debugging Web apps. It depends on drivers installed at the OS level; perhaps the most common is capybara-webkit
. From the capybara-webkit
README:
capybara-webkit depends on a WebKit implementation from Qt, a cross-platform development toolkit. You'll need to download the Qt libraries to build and install the gem. You can find instructions for downloading and installing Qt on the capybara-webkit wiki. capybara-webkit requires Qt version 4.8 or greater.
Installing Qt 4 or 5 on Debian Linux brings in well over 100 packages, increasing the image size considerably. While this is necessary for test and, generally, development as well, it is not necessary to deploy a production-mode application.
See the README for the jdickey/ruby
base image and the official Ruby Docker image docs.
All files in this repository are Copyright © 2018 by Jeff Dickey, and licensed under the MIT License.
As with all Docker images, these also contain other software which may be under other licenses (such as Ruby, Bash, etc from the base images, along with any direct or indirect dependencies of the primary software being contained).
As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.