FROM tomcat:7.0.109-jdk8 # Define arguments for the group and user IDs ARG USER_ID ARG GROUP_ID ARG USERNAME ARG GROUPNAME # Create group and user with IDs passed from Docker Compose RUN groupadd -g ${GROUP_ID} ${GROUPNAME} && \ useradd --no-log-init -u ${USER_ID} -g ${GROUP_ID} -m ${USERNAME} || true # CONFIG #COPY ./conf/catalina.properties /usr/local/tomcat/conf/catalina.properties COPY ./conf/context.xml /usr/local/tomcat/conf/context.xml COPY ./conf/server.xml /usr/local/tomcat/conf/server.xml # Copy libraries COPY ./libs/ /usr/local/tomcat/lib/ # Set permissions on Tomcat directories RUN chown -R ${USERNAME}:${GROUPNAME} /usr/local/tomcat # Copy entrypoint script and make it executable COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] USER ${USERNAME} CMD ["catalina.sh", "run"]