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

55 lines
1.9 KiB
Plaintext

# image_files/Containerfile
FROM localhost/base-server:latest
MAINTAINER "birdhead"
# 로케일 및 타임존 환경 변수 설정
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
ENV TZ=Asia/Seoul
ENV DEBIAN_FRONTEND=noninteractive
# 단일 RUN 명령으로 레이어를 최소화하고 이미지 크기를 최적화
RUN \
apt-get update && \
# 로케일 및 필수 유틸리티 설치
apt-get install -y --no-install-recommends \
locales curl gnupg sudo lsb-release \
&& \
# en_US.UTF-8 로케일 생성
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen && \
locale-gen && \
\
# PostgreSQL 17 공식 저장소 추가 및 설치
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /usr/share/keyrings/postgresql-archive-keyring.gpg && \
echo "deb [signed-by=/usr/share/keyrings/postgresql-archive-keyring.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \
\
# pgAdmin4 공식 저장소 추가
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg && \
echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && \
\
# 패키지 목록 다시 업데이트 후 설치
apt-get update && \
apt-get install -y --no-install-recommends \
postgresql-17 \
pgadmin4-web \
apache2 \
&& \
# 설치 후 캐시 정리
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# entrypoint 스크립트 복사 및 실행 권한 부여
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh
# 포트 노출
EXPOSE 5432
EXPOSE 80
# 컨테이너 시작 시 실행할 명령 지정
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
CMD []