| # Licensed to the Apache Software Foundation (ASF) under one | |
| # or more contributor license agreements. See the NOTICE file | |
| # distributed with this work for additional information | |
| # regarding copyright ownership. The ASF licenses this file | |
| # to you under the Apache License, Version 2.0 (the | |
| # "License"); you may not use this file except in compliance | |
| # with the License. You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| ARG baseimagename | |
| # hadolint ignore=DL3006 | |
| FROM ${baseimagename} | |
| SHELL ["/bin/bash", "-o", "pipefail", "-c"] | |
| ARG USER_NAME | |
| ARG GROUP_ID | |
| ARG USER_ID | |
| ARG DOCKER_SOCKET_GID | |
| ARG DOCKER_WORK_DIR | |
| RUN groupadd --non-unique -g "${GROUP_ID}" "${USER_NAME}" || true | |
| # hadolint ignore=DL3059 | |
| RUN useradd -l -g "${GROUP_ID}" -u "${USER_ID}" -m "${USER_NAME}" || true | |
| # docker socket handling. unless /etc/group is mounted, we have to do this. | |
| # hadolint ignore=DL3059 | |
| RUN if [ "${DOCKER_SOCKET_GID}" != -1 ]; then (groupadd --non-unique --gid ${DOCKER_SOCKET_GID} dockersock && adduser "${USER_NAME}" dockersock ) || true; fi | |
| # hadolint ignore=DL3059 | |
| RUN mkdir -p ${DOCKER_WORK_DIR}/extras \ | |
| && chmod a+rwx ${DOCKER_WORK_DIR}/extras | |
| COPY user_params.txt ${DOCKER_WORK_DIR}/user_params.txt | |
| COPY launch-test-patch.sh /launch-test-patch.sh | |
| RUN chown -R "${USER_NAME}":"${GROUP_ID}" ${DOCKER_WORK_DIR} /launch-test-patch.sh || true | |
| # hadolint ignore=DL3059 | |
| RUN chmod a+rx /launch-test-patch.sh | |
| # hadolint ignore=DL3059 | |
| RUN chown -R "${USER_NAME}" "/home/${USER_NAME}" || true | |
| ENV HOME "/home/${USER_NAME}" | |
| USER ${USER_NAME} | |
| ENV DOCKER_WORK_DIR ${DOCKER_WORK_DIR} | |
| CMD ["/launch-test-patch.sh"] |