Podman_compose_BigData/Containerfile
2025-10-16 21:15:12 +09:00

83 lines
2.4 KiB
Docker

# Containerfile
# 기반 이미지를 NVIDIA CUDA 이미지로 변경
FROM nvidia/cuda:12.2.2-devel-ubuntu22.04
#MAINTAINER "birdhead"
# 로케일 및 타임존 환경 변수 설정
ENV LANG en_US.UTF-8
ENV TZ=Asia/Seoul
ENV DEBIAN_FRONTEND=noninteractive
# 패키지 설치
RUN echo "deb http://kr.archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse" > /etc/apt/sources.list && \
echo "deb http://kr.archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse" >> /etc/apt/sources.list && \
echo "deb http://kr.archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse" >> /etc/apt/sources.list && \
echo "deb http://security.ubuntu.com/ubuntu jammy-security main restricted universe multiverse" >> /etc/apt/sources.list && \
apt-get update && \
apt-get install -y --no-install-recommends \
cron \
rsyslog \
openssh-server \
supervisor \
build-essential \
vim \
curl \
wget \
git \
ca-certificates \
gnupg \
sudo \
pkg-config \
cmake \
g++ \
gdb \
libboost-all-dev \
libdcmtk-dev \
libsndfile1-dev \
libpq-dev \
libnsl-dev \
python3 \
python3-pip \
python3-venv \
jq \
# net-tools \
ffmpeg \
libopenblas-dev && \
ssh-keygen -A && \
mkdir -p /run/sshd && \
chown root:root /run/sshd && \
chmod 755 /run/sshd && \
curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \
apt-get install -y nodejs && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# 필요한 커스텀 파일들을 이미지에 미리 복사
COPY --chown=root:root ./system/etc/. /etc/
COPY --chown=root:root ./system/usr_local/. /usr/local/
# Set Timezone
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# npm을 사용하여 pm2 전역 설치
RUN npm install pm2 -g && npm cache clean --force
# ssdoctors 사용자가 비밀번호 없이 sudo를 사용하도록 설정
RUN echo "ssdoctors ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ssdoctors
# supervisord.conf 파일을 컨테이너 안으로 복사
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
# 컨테이너 시작 시 실행할 명령
#CMD ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisord.conf"]
# ✅ entrypoint.sh 스크립트 추가
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]