version: '3.7'
services:
oracle11g:
image: oraclelinux:6
container_name: oracle11g
volumes:
- ./oracle-xe-11.2.0-1.0.x86_64.rpm.zip:/tmp/oracle-xe-11.2.0-1.0.x86_64.rpm.zip
- ./init.sql:/tmp/init.sql
- ./install.sh:/tmp/install.sh
ports:
- "1521:1521"
environment:
- ORACLE_ALLOW_REMOTE=true
- ORACLE_PASSWORD=password
command: /bin/bash -c "chmod 755 /tmp/install.sh && /tmp/install.sh && su - oracle -c '/u01/app/oracle/product/11.2.0/xe/bin/sqlplus / as sysdba @/tmp/init.sql' && /u01/app/oracle/product/11.2.0/xe/bin/tnslsnr xe start"
위의 Docker Compose YAML 파일에서는 Oracle Database 11g를 위한 단일 서비스를 정의합니다. 이 서비스는 다음과 같은 구성을 가지고 있습니다:
- image: Docker 이미지로 Oracle Linux 6를 사용합니다.
- container_name: 컨테이너의 이름을 정의합니다.
- volumes: 호스트와 컨테이너 간의 파일 시스템 마운트를 설정합니다. 여기서는 Oracle Database 11g 설치 파일과 초기화 스크립트를 마운트합니다.
- ports: 호스트와 컨테이너 간의 포트 포워딩을 설정합니다. Oracle Database의 포트 1521을 호스트의 1521 포트로 연결합니다.
- environment: 컨테이너 내부에서 사용할 환경 변수를 설정합니다. 여기서는 원격 연결을 허용하고 Oracle 비밀번호를 설정합니다.
- command: 컨테이너가 시작될 때 실행할 명령을 지정합니다. 여기서는 초기화 스크립트를 실행하고 Oracle Database를 시작합니다.
위의 Docker Compose 파일을 사용하여 Oracle Database 11g를 Docker 컨테이너로 실행할 수 있습니다. 단순히 프로젝트 디렉토리에서 docker-compose up -d 명령을 실행하면 됩니다.
'DB > oracle' 카테고리의 다른 글
oracle / DEFAULT_TABLESPACE (0) | 2022.04.14 |
---|---|
oracle / sqlplus / UTF8 / 한글깨짐 (0) | 2022.01.03 |
oracle xe (0) | 2021.02.10 |
ORA-24247: 네트워크 액세스가 ACL(액세스 제어 목록)에 의해 거부되었습니다. (0) | 2021.01.11 |
oracle / db link (0) | 2020.04.24 |