48 lines
1.4 KiB
Plaintext
48 lines
1.4 KiB
Plaintext
|
# Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.
|
||
|
#
|
||
|
# NVIDIA CORPORATION and its licensors retain all intellectual property
|
||
|
# and proprietary rights in and to this software, related documentation
|
||
|
# and any modifications thereto. Any use, reproduction, disclosure or
|
||
|
# distribution of this software and related documentation without an express
|
||
|
# license agreement from NVIDIA CORPORATION is strictly prohibited.
|
||
|
|
||
|
ARG SET_LAUNCH_CMD
|
||
|
ARG BASE_IMAGE=nvidia/cuda:12.2.2-runtime-ubuntu22.04
|
||
|
FROM ${BASE_IMAGE} as deploy_base
|
||
|
|
||
|
# Setup entrypoint
|
||
|
COPY deploy-entrypoint.sh /usr/local/bin/scripts/deploy-entrypoint.sh
|
||
|
RUN chmod +x /usr/local/bin/scripts/deploy-entrypoint.sh
|
||
|
ENTRYPOINT [ "/usr/local/bin/scripts/deploy-entrypoint.sh" ]
|
||
|
|
||
|
# Install additional debians
|
||
|
ARG INSTALL_DEBIANS_CSV
|
||
|
RUN --mount=type=cache,target=/var/cache/apt \
|
||
|
if [[ ! -z "${INSTALL_DEBIANS_CSV}" ]]; then \
|
||
|
apt-get update && apt-get install -y ${INSTALL_DEBIANS_CSV//,/ } ; \
|
||
|
fi
|
||
|
|
||
|
# Copy built products into container
|
||
|
COPY staging/ /
|
||
|
|
||
|
# Switch to non-root user
|
||
|
USER ${USERNAME:?}
|
||
|
|
||
|
# -----------
|
||
|
|
||
|
FROM deploy_base as deploy_has_launch_0
|
||
|
# -----------
|
||
|
|
||
|
FROM deploy_base as deploy_has_launch_1
|
||
|
# Default argument
|
||
|
ARG LAUNCH_FILE
|
||
|
ENV LAUNCH_FILE=${LAUNCH_FILE:?}
|
||
|
|
||
|
ARG LAUNCH_PACKAGE
|
||
|
ENV LAUNCH_PACKAGE=${LAUNCH_PACKAGE:?}
|
||
|
|
||
|
CMD ros2 launch $LAUNCH_PACKAGE $LAUNCH_FILE
|
||
|
# -----------
|
||
|
|
||
|
|
||
|
FROM deploy_has_launch_${SET_LAUNCH_CMD} as final
|