-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Add ArangoDB Official images #728
Conversation
Just to make sure the comments aren't missed in IRC backlog (https://botbot.me/freenode/docker-library/msg/41493887/):
|
Is there a default configuration path/file that could be overwritten instead so we could avoid the manual configuration file specification in |
Any particular benefit to downloading and extracting the |
Here's something a little more concrete to make it more clear what I mean: diff --git a/Dockerfile.templ b/Dockerfile.templ
index db4dd70..1eb4806 100644
--- a/Dockerfile.templ
+++ b/Dockerfile.templ
@@ -2,42 +2,29 @@ FROM debian:jessie
MAINTAINER Frank Celler <info@arangodb.com>
-RUN apt-get -y --force-yes update && \
- apt-get -y --force-yes install \
- apt-transport-https \
- gnupg \
- libreadline6 \
- libssl1.0.0 \
- libstdc++6 \
- wget \
- && \
+RUN apt-get update && \
+ apt-get install -y apt-transport-https && \
+ rm -rf /var/lib/apt/lists/*
+
+RUN echo 'deb https://www.arangodb.com/repositories/arangodb2/Debian_8.0 /' > /etc/apt/sources.list.d/arangodb.list && \
apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys C60515C5EC94954D9B5A0302358D849C89A14917 && \
- apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys CD8CB0F1E0AD5B52E93F41E7EA93F5E56E751E9B && \
- gpg --keyserver ha.pool.sks-keyservers.net --recv-keys CD8CB0F1E0AD5B52E93F41E7EA93F5E56E751E9B
+ apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys CD8CB0F1E0AD5B52E93F41E7EA93F5E56E751E9B
-ENV ARCHITECTURE amd64
ENV ARANGO_VERSION @VERSION@
-ENV ARANGO_URL https://www.arangodb.com/repositories/arangodb2/Debian_8.0
-ENV ARANGO_PACKAGE arangodb_${ARANGO_VERSION}_${ARCHITECTURE}.deb
-ENV ARANGO_PACKAGE_URL ${ARANGO_URL}/${ARCHITECTURE}/${ARANGO_PACKAGE}
-ENV ARANGO_SIGNATURE_URL ${ARANGO_PACKAGE_URL}.asc
-
-RUN echo "deb $ARANGO_URL /" > /etc/apt/sources.list.d/arangodb.list
-RUN wget ${ARANGO_SIGNATURE_URL} && \
- wget ${ARANGO_PACKAGE_URL} && \
- gpg --verify ${ARANGO_PACKAGE}.asc && \
- dpkg -i ${ARANGO_PACKAGE}
+RUN apt-get update && \
+ apt-get install -y arangodb=$ARANGO_VERSION && \
+ rm -rf /var/lib/apt/lists/* && \
+ sed -ri \
+# https://docs.arangodb.com/ConfigureArango/Arangod.html
+ -e 's!127\.0\.0\.1!0.0.0.0!g' \
+# https://docs.arangodb.com/ConfigureArango/Logging.html
+ -e 's!^(file\s*=).*!\1 -!' \
+ /etc/arangodb/arangod.conf
-# expose the database directory (data), Foxx Application directory (apps, apps-dev) and logs
-VOLUME ["/data", "/apps", "/apps-dev", "/logs"]
+# retain the database directory
+VOLUME ["/var/lib/arangodb"]
# standard port
EXPOSE 8529
-
-# add HELP file
-COPY ./HELP.md /HELP.md
-# start script
-COPY ./arangod-docker.conf /etc/arangodb/
-COPY ./start.sh /etc/arangodb/
-ENTRYPOINT ["/etc/arangodb/start.sh"]
+CMD ["arangod"] |
The problem why I did not go the apt-aproach way is, that we only have the latest stable version of each release line available via apt (i.e. after 2.5.5 was released, 2.5.4 vanished); This is the right thing to do for all other usecases; Regular apt-repositories simply behave like that. Its not easily changeable as the Packages files and the signing are done on Suse OBS. For that reason I went the route of wget & pgp & signing each package separately. I will copy the arangod-docker.conf to arangod.conf instead, which will remove the need to specify it. |
Yes, |
Sorry for the slow reply, github does not notify us of new commits, so feel free to ping us next time. It all looks great. Are |
|
I've fixed our build process and they're generated from now on. The old versions will remain available, but from one release series the latest is advised to be used. |
The easiest way to upgrade most containers is to pull the new version and start it while bind mounting the old data storage directory (some databases may have a more complicated transition, like postgres). I am getting a new error in building 2.6: Preparing to unpack arangodb_2.6.0_amd64.deb ...
Unpacking arangodb (2.6.0) ...
dpkg: dependency problems prevent configuration of arangodb:
arangodb depends on libgoogle-perftools4; however:
Package libgoogle-perftools4 is not installed.
dpkg: error processing package arangodb (--install):
dependency problems - leaving unconfigured
Processing triggers for systemd (215-17+deb8u1) ...
Errors were encountered while processing:
arangodb Probably just need an |
I've updaed the pull request accordingly. |
Dockerfiles look good to me and the app behaves well (I tried 2.6.2 only). I just ran in to the |
LGTM, Build test of #728; df2a881 ( $ url="https://raw.githubusercontent.com/docker-library/official-images/df2a88199611f27f93e16632da2575e5a89332a7/library/arangodb"
$ bashbrew build "$url"
Fetching arangodb (git://github.com/arangodb/arangodb-docker) ...
Processing arangodb:2.5.3 ...
Processing arangodb:2.5.4 ...
Processing arangodb:2.5.5 ...
Processing arangodb:2.6.0 ...
Processing arangodb:2.6.1 ...
Processing arangodb:2.6.2 ...
$ bashbrew list --uniq "$url" | xargs test/run.sh
testing arangodb:2.5.3
'utc' [1/3]...passed
'cve-2014--shellshock' [2/3]...passed
'no-hard-coded-passwords' [3/3]...passed
testing arangodb:2.5.4
'utc' [1/3]...passed
'cve-2014--shellshock' [2/3]...passed
'no-hard-coded-passwords' [3/3]...passed
testing arangodb:2.5.5
'utc' [1/3]...passed
'cve-2014--shellshock' [2/3]...passed
'no-hard-coded-passwords' [3/3]...passed
testing arangodb:2.6.0
'utc' [1/3]...passed
'cve-2014--shellshock' [2/3]...passed
'no-hard-coded-passwords' [3/3]...passed
testing arangodb:2.6.1
'utc' [1/3]...passed
'cve-2014--shellshock' [2/3]...passed
'no-hard-coded-passwords' [3/3]...passed
testing arangodb:2.6.2
'utc' [1/3]...passed
'cve-2014--shellshock' [2/3]...passed
'no-hard-coded-passwords' [3/3]...passed And once they are built they'll be a PR to drop the unsupported versions shortly? 😉 |
LGTM |
Will look forward to the PR dropping all the older versions soon. 👍 |
Oh, and I suppose a PR to https://github.com/docker-library/docs too. 😄 |
ArangoDB is a the multi-model NoSQL database - http://arangodb.org