33 lines
1.3 KiB
Plaintext
33 lines
1.3 KiB
Plaintext
# 1. 공식 postgres:17 이미지를 기반으로 시작합니다.
|
|
FROM docker.io/library/postgres:17
|
|
|
|
# 2. 패키지 설치를 위해 root 권한으로 전환합니다.
|
|
USER root
|
|
|
|
# 3. mysql_fdw 설치에 필요한 패키지들을 설치하고 저장소를 추가합니다.
|
|
# base-server의 Containerfile에서 했던 작업과 동일합니다.
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends \
|
|
ca-certificates \
|
|
curl \
|
|
gnupg \
|
|
lsb-release && \
|
|
\
|
|
# PostgreSQL 저장소 추가
|
|
mkdir -p /etc/apt/keyrings && \
|
|
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /etc/apt/keyrings/postgresql-archive-keyring.gpg && \
|
|
echo "deb [signed-by=/etc/apt/keyrings/postgresql-archive-keyring.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list > /dev/null && \
|
|
\
|
|
# 패키지 목록 업데이트 및 확장 기능들 설치
|
|
apt-get update && \
|
|
apt-get install -y --no-install-recommends \
|
|
postgresql-17-mysql-fdw \
|
|
postgresql-17-cron && \
|
|
\
|
|
# 설치 후 불필요한 파일 정리
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# 4. 보안을 위해 다시 postgres 사용자로 전환합니다.
|
|
USER postgres
|