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

Overhauled Docker Configuration #1578

Merged
merged 2 commits into from May 2, 2019
Merged

Overhauled Docker Configuration #1578

merged 2 commits into from May 2, 2019

Conversation

orangewolf
Copy link
Member

This commit is in preparation of beginning to release Docker images that can be used via Docker Hub with each new release. It also allows for fully dockerized development environment and production environments.

Two phase Docker build - base and main. The goal here are much faster build times by moving seldom changing items to the base image.

Moves to Passenger base image which allows a few real niceties:

  • for dev, you can restart the web process w/o restarting the container, saving a lot of time
  • for prod passenger is more effecient by default in a variety of configurations than puma. Puma frequenty requires more tuning
  • means nginx is serving assets, so no extra proxy is required

Note, this makes the build a little bigger, but with libreoffice and fits in there this change is a pretty small fraction in my opinion.

Uses a nulldb to compile assets during build, making deployment much faster. Also set up to allow for optional assets volume, which makes keeping cached assets possible

This Dockerfile moves fits to always be in the same place in the container. There is still a version file present, so we don't really need it in the path and that means we don't have to update multiple places when we change versions. Just
in the Dockerfile.base

Sets the admin and default host in dockerfile and virtual_host attributes. That allows this setup to work in dev by default with common proxies like Dory and others.

Makes test adjustments to allow for Docker environment, adds an external Chrome driver docker container to the dev environment

Splits the production and dev docker-compose.yml files. Reduced dev zookeeper to 1, removed lb and memcached from dev. Splitting futher refinement of production docker-compose in to a seperate task as part of #1577.

Fixes #1562 ; refs #1577

@samvera/hyrax-code-reviewers

@orangewolf orangewolf changed the title Overhauled Docker Configuration WIP - Overhauled Docker Configuration Mar 26, 2019
@orangewolf orangewolf changed the title WIP - Overhauled Docker Configuration Overhauled Docker Configuration Mar 28, 2019
jpengst
jpengst previously approved these changes Apr 26, 2019
kellyChex
kellyChex previously approved these changes Apr 26, 2019
@orangewolf orangewolf dismissed stale reviews from kellyChex and jpengst via 979efb7 May 1, 2019 04:19
…side Docker

This commit is in preperation of beginning to release docker images that can be used via Docker Hub with each new release. It also allows for fully dockerized development environment and production environments.

Two phase Docker build - base and main. The goal here are much faster build times by moving seldom changing items to the base image.

Moves to Passenger base image which allows a few real niceties:

  - for dev, you can restart the web process w/o restarting the container, saving a lot of time
  - for prod passenger is more effecient by default in a variety of configurations than puma. Puma frequenty requires more tuning
  - means nginx is serving assets, so no extra proxy is required

Note, this makes the build a little bigger, but with libreoffice and fits in there this change is a pretty small fraction in my opinion.

Uses a nulldb to compile assets during build, making deployment much faster. Also set up to allow for optional assets volume, which makes keeping cached assets possible

This Dockerfile moves fits to always be in the same place in the container. There is still a version file present, so we don't really need it in the path and that means we don't have to update multiple places when we change versions. Just
 in the Dockerfile.base

Sets the admin and default host in dockerfile and virtual_host attributes. That allows this setup to work in dev by default with common proxies like Dory and others.

Makes test adjustments to allow for Docker environment, adds an external Chrome driver docker container to the dev environment

Splits the production and dev docker-compose.yml files. Reduced dev zookeeper to 1, removed lb and memcached from dev. Splitting futher refinement of production docker-compose in to a seperate task.
@orangewolf orangewolf merged commit 0cb9416 into master May 2, 2019
@orangewolf orangewolf deleted the docker-updates branch May 2, 2019 05:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Get rid of dockercloud/haproxy
3 participants