-
Notifications
You must be signed in to change notification settings - Fork 22
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
Dockerize deployment #26
Comments
I happen to have experience in building Docker Images for Web Applications. |
I agree that a sqlite deployment would be a fine place to start. The deployment of elasticsearch nodes is wholly independent anyway. |
I got the container already working on my development desktop:
The Log at
I'm wondering why it redirects to metacpan.org . Although I tried to advance the installation of Perl Modules with previous installation in the Container Image the installation takes still 2 min to complete according to the Installation log.
These 2 minutes would be consumed on each Container Start-Up. So I'm thinking about including the |
I ran in the Container the command
I can see in the SQLite File
The Web Application documents that it was running, received the Request and was redirecting:
Although this behaviour is quite strange. |
The Development has advanced to enable
It also recognizes the It's important to notice that the whole Project Directory is loaded into the Container so any changes made to the files within the Container are persistently saved to disk. On the other hand also the Logs are persistently stored to disk which is nice for troubleshooting issues. With
within the Project Directory So this can be a nice tool for That way I find that Mojolicious fits in nicely into the Container Environment since it starts in forefront and exits nicely on |
On how to reproduce this Container Build I think it is of Common Interest for all Developers. |
According to the code in
But in the cache file
which is documented like this in the Web Service Log:
|
After having concluded the first Sprint I will work on the next Sprint which will be the integration with the PostgreSQL Service in a separate container. |
Thinking of a possible Use Case of this development as to create a serverless testing environment for Automated Tests as described on: As persistent Database Storage Location the
Still the As documented in the Official Docker Documentation Now common users with access to the |
Now the Docker Cluster consists of 2 Containers:
To access the database container the configuration
within the Docker Cluster the container But to use this configuration the
Here the important outputs are:
that indicate that the PostgreSQL backend is recognized and the Perl modules are installed. Now the web site cannot run without the database backend because the database host
|
Now the last sprint involves introducing the ElasticSearch container in the cluster.
So, the latest version of this series is 6.8 which corresponds to the
In order to commit the file On fresh install if the Postgres data directory is not changed to be accessible by the
On initial install the ElasticSearch container is unable to start up because of default memory restrictions:
So, the memory limit must be increased as
There is a great documentation about the effects that configuration has on the Docker Host System published by the Suse Distribution at Documentation on To use the ElasticSearch search backend this must be configured in the
Before the search backend is usable the indexation script must be run with:
After the indexation the ElasticSearch component has 5 indices for each Perl version:
and the "foo" search will produce a complete search result:
|
Before running the indexation it is important to check whether the ElasticSearch component is already ready for service with:
otherwise the
Because the ElasticSearch is known to be slow to start up |
Reproducing the build on a new system it turns out that no the ownership of the ProgreSQL data directory is an obstacle but the committed file
So the The ownership of the data directory will be changed automatically during the installation. |
I don't have any experience with Docker, but it would be nice for other people to be able to easily deploy instances. There are two components: the web app (standard Mojolicious application deployed with hypnotoad), and the elasticsearch server (version 6, needs at least 2 CPUs and 2GB RAM per node).
The text was updated successfully, but these errors were encountered: