[
https://issues.apache.org/jira/browse/DRILL-8156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17505228#comment-17505228
]
ASF GitHub Bot commented on DRILL-8156:
---------------------------------------
jnturton commented on a change in pull request #2491:
URL: https://github.com/apache/drill/pull/2491#discussion_r825277731
##########
File path: Dockerfile
##########
@@ -49,25 +49,33 @@ RUN mvn -Dmaven.artifact.threads=5 -T1C clean install
-DskipTests
# Get project version and copy built binaries into /opt/drill directory
RUN VERSION=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}'
--non-recursive exec:exec) \
&& mkdir /opt/drill \
- && mv distribution/target/apache-drill-${VERSION}/apache-drill-${VERSION}/*
/opt/drill
+ && mv distribution/target/apache-drill-${VERSION}/apache-drill-${VERSION}/*
/opt/drill \
+ && chmod -R +r /opt/drill
# Target image
# Set the BASE_IMAGE build arg when you invoke docker build.
FROM $BASE_IMAGE
-ENV DRILL_HOME=/opt/drill DRILL_USER=drilluser
+# Starts Drill in embedded mode and connects to Sqlline
+ENTRYPOINT $DRILL_HOME/bin/drill-embedded
-RUN mkdir $DRILL_HOME
+ENV DRILL_HOME=/opt/drill
+ENV DRILL_USER=drilluser
+ENV DRILL_USER_HOME=/var/lib/drill
+ENV DRILL_LOG_DIR=$DRILL_USER_HOME/log
+ENV DATA_VOL=/data
-RUN groupadd -g 999 $DRILL_USER \
- && useradd -r -u 999 -g $DRILL_USER $DRILL_USER -m -d /var/lib/drill \
- && chown -R $DRILL_USER: $DRILL_HOME
+RUN mkdir $DRILL_HOME $DATA_VOL
-USER $DRILL_USER
+RUN groupadd -g 999 $DRILL_USER \
+ && useradd -r -u 999 -g $DRILL_USER $DRILL_USER -m -d $DRILL_USER_HOME \
+ && chown $DRILL_USER: $DATA_VOL
-COPY --from=build --chown=$DRILL_USER /opt/drill $DRILL_HOME
+# A Docker volume where users may store persistent data, e.g. persistent Drill
+# config by specifying a Drill BOOT option of sys.store.provider.local.path:
"/data".
+VOLUME $DATA_VOL
-# Starts Drill in embedded mode and connects to Sqlline
-ENTRYPOINT $DRILL_HOME/bin/drill-embedded
Review comment:
@vvysotskyi no it was just one of the things that it was possible to
move above the COPY :) I don't think that this particular move helped with
image size at all so if we prefer ENTRYPOINT at the end then I can move it
back. Containers launched from this image do still correctly start up
drill-embedded even with the ENTRYPOINT higher up.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
> Declare and chown a /data VOLUME in the Drill Dockerfile
> --------------------------------------------------------
>
> Key: DRILL-8156
> URL: https://issues.apache.org/jira/browse/DRILL-8156
> Project: Apache Drill
> Issue Type: Improvement
> Components: Tools, Build & Test
> Affects Versions: 1.20.0
> Reporter: James Turton
> Assignee: James Turton
> Priority: Minor
>
> Some users of embedded Drill in Docker want to use a Docker volume with
> Drill, particularly for Drill's persistent local storage so that Drill
> configuration can persist across container launches. Because Drill no longer
> runs as root in the Docker container as of 1.20, these users now need a
> mountpoint inside that container that has been chowned to drilluser.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)