[
https://issues.apache.org/jira/browse/DRILL-8156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17504566#comment-17504566
]
ASF GitHub Bot commented on DRILL-8156:
---------------------------------------
vvysotskyi commented on a change in pull request #2491:
URL: https://github.com/apache/drill/pull/2491#discussion_r824123127
##########
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 \
Review comment:
Could these two commands be combined?
##########
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:
Looks like it was deleted...
##########
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
Review comment:
It's also fine if this could help instead of making chown in the target
image.
--
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)