도커 허브에는 오라클사에서 제공하는 공식 이미지가 없습니다. 따라서 오라클 깃허브 페이지에서 직접 이미지를 다운받습니다.
https://github.com/oracle/docker-images

git clone 명령어로 파일을 다운받거나 압축 파일을 다운로드 받습니다 (Download ZIP).다운로드 받은 이미지를 확인해 보면 다음과 같은 구조를 확인할 수 있습니다.

docker-images/OracleDatabases/SingleInstance/dockerfiles오라클에서 공식 제공하는 docker-images/OracleDatabse 리포지토리에는 오라클 데이터베이스를 다양한 환경에서 실행하기 위한 설정들이 폴더별로 나뉘어 있습니다. 각 폴더의 용도와 역할을 정리하면 다음과 같습니다.
~/docker-images/OracleDatabase/
├── OracleConnectionManager/
├── RAC/
├── SingleInstance/
│   └── dockerfiles/
│       ├── 11.2.0.2/
│       ├── 12.1.0.2/
│       ├── 12.2.0.1/
│       ├── 18.3.0/
│       ├── 18.4.0/
│       ├── 19.3.0/
│       ├── 21.3.0/
│       ├── 23.6.0/
│       └── buildContainerImage.sh11.2.0.2/, 19.3.0/, 21.3.0/ 등./buildContainerImage.sh -v 19.3.0 -e| 옵션 | 의미 | 
|---|---|
| -v | 빌드할 Oracle 버전 지정 (예: 19.3.0) | 
| -e, -x, -f | Enterprise, Express, Free 에디션 선택 | 
| (선택)-i | MD5 체크(체크섬) 무시 (다운로드 확인 생략) | 
| (선택)-t | 빌드 결과 이미지의 이름 지정 | 
dockerfiles 폴더 내부에는 오라클의 버전별 설치 환경이 폴더로 구분되어 있습니다.

각 폴더는 해당 버전의 오라클을 Docker 이미지로 빌드할 수 있도록 필요한 스크립트와 설정을 포함하고 있으며, 예를 들어 19.3.0/ 폴더는 Oracle 19c를 위한 빌드 환경이 들어 있습니다.
❗️ 여기서 중요한 파일: LINUX.ARM64_1919000_db_home.zip
unzip → 설치 → 설정하는 과정이 자동으로 수행됩니다.buildContainerImage.sh 스크립트 파일 내용을 보면, ARM64 플랫폼(예: M1/M2 Mac)에서는 다음과 같이 19c EE 버전만 빌드 가능하도록 제한되어 있습니다

LINUX.ARM64_1919000_db_home.zip 파일은 기본 제공되지 않으며, Oracle 공식 홈페이지에서 별도로 다운로드해야 합니다.
오라클은 자사 소프트웨어에 대한 재배포를 허용하지 않기 때문에, 공식 깃허브 저장소에는 설치 파일이 포함되어 있지 않습니다.
따라서 사용자가 직접 오라클 공식 웹사이트에 접속해 로그인 후 다운로드해야 합니다.

https://www.oracle.com/database/technologies/oracle19c-linux-arm64-downloads.html
~/docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0/buildContainerImage.sh는 아래 폴더에서 설치 파일이 있는지 확인하고, MD5 체크 및 unzip 후 설치를 진행합니다.
# LINUX.ARM64_1919000_db_home.zip 파일은 아래 경로에 위치해야 합니다.
~/docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0/터미널에서 아래 디렉터리로 이동합니다.
cd ~/docker-images/OracleDatabase/SingleInstance/dockerfiles아래 명령어로 빌드를 실행합니다.
./buildContainerImage.sh -v 19.3.0 -e| 옵션 | 설명 | 
|---|---|
| -v 19.3.0 | Oracle 19c 버전 사용 | 
| -e | Enterprise Edition | 
| (선택) -i | MD5 체크를 무시하려면 이 옵션 추가 가능 | 
빌드가 성공하면 다음과 같은 이미지가 생성됩니다.
oracle/database:19.3.0-ee아래 명령어(예시)로 도커 컨테이너를 실행합니다.
docker run --name oracle19c \ 
	-p 1521:1521 \
    -e ORACLE_PWD=oracle \
    -d oracle/database:19.3.0-eedocker run--name oracle19c-p 1521:1521-e ORACLE_PWD=oracle-doracle/database:19.3.0-ee도커 허브에서 컨테이너가 잘 생성/실행되었는지 확인해 보겠습니다.


위의 설정을 참고하여 작성 후 연결해 보면, 오라클 데이터베이스에 정상적으로 접속됨을 확인할 수 있습니다.
DataGrip에서는 SID 방식 또는 Service Name 방식으로 접속 설정을 선택할 수 있습니다.
| 항목 | 설명 | 
|---|---|
| SID | System Identifier, 데이터베이스 인스턴스의 고유 이름 | 
| SERVICE_NAME | 클라이언트가 접속할 때 사용하는 논리적 서비스 이름, PDB 접속 시 필수 | 
오라클이 제공하는 Docker 이미지는 기본적으로 하나의 CDB(Container DB)를 만들고, 그 이름이 ORCLCDB로 설정되어 있습니다.
또한, 기본으로 하나의 PDB도 자동으로 만들어지는데, 이름은 보통 ORCLPDB1입니다.
Oracle Container DB     → SID: ORCLCDB
└── Pluggable DB        → Service Name: ORCLPDB1DataGrip에서 SID = ORCLCDB로 입력한다는 것은 CDB 자체에 접속하는 것을 의미합니다.
보통 SYS, SYSTEM 같은 관리자 계정으로 접속할 때 사용되며, CDB에서 PDB 생성, 유저 관리, 전체 시스템 관리 등의 작업을 할 수 있습니다.