본문 바로가기
DB/oracle

docker / oracle 11g docker-compose yaml

by 하하IT 2024. 2. 29.

 

 

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 명령을 실행하면 됩니다.