docker로 Oracle Database18c 개발 환경을 구축해 보았습니다.

배경



어떤 조사를 실시하기 위해 local에 Oracle Database를 구축해 보았습니다, 라는 이야기입니다.
이번은 그 비망록입니다.

개발 환경


  • Windows10
  • Docker Desktop for Windows
  • Oracle Database 18c (18.3.0) Express Edition (XE)

  • 절차



  • oracle databese의 공식 repository 얻기

    docker image를 build하기 위한 script는 오라클이 github에 공개하고 있습니다. 이번에는, 그 script를 이용해 docker image의 작성을 실시합니다(순서는 후술).
    cd ${projecty root}/build/docker/oracle/
    git clone https://github.com/oracle/docker-images.git
    

  • oracle database 본문 검색

    oracle database 18c(18.3.0) 에서 공개된 바이너리를 가져옵니다.



  • 다운로드 파일 배치
    cd ${projecty root}/build/docker/oracle/docker-images/OracleDatabase/SingleInstance/dockerfiles/18.3.0
    cp ~/Download/linu.x64_180000_db_home.zip .
    

  • docker image의 build

    git clone에서 얻은 shell script에서 docker image를 만듭니다.
    cd ${projecty root}/build/docker/oracle/docker-images/OracleDatabase/SingleInstance/dockerfiles
    sh biuldDockerImage.sh -v 18.3.0 -e
    

    다음 메시지가 출력되는지 확인할 수 있으면 docker image를 만듭니다.
    Oracle Database Docker Image for 'ee' version 18.4.0 is ready to be extended:
    
    --> oracle/database:18.4.0-ee
    
    Build completed in 928 seconds.
    

    여기서 다음 오류가 발생하면 docker image를 만들 때 실행하는 셸 스크립트의 줄 바꿈 코드가 LF에서 CRLF로 변경되었을 수 있습니다. 대상 셸 스크립트의 줄 바꿈 코드를 LF로 설정합니다.
    MD5 for required packages to build this image did not match!
    Make sure to download missing files in folder 18.3.0.
    

  • 이미지 출력 확인

    생성된 도커 이미지를 확인합니다.
    docker images
    REPOSITORY                                          TAG                 IMAGE ID            CREATED             SIZE
    oracle/database                                     18
    3.0-ee         c90d8241c96d        3 hours ago         5.98GB
    ...省略...
    

  • docker-compose.yml에 구성 설명
    version: '2'
    
    services:
      db:
        image: oracle/database:18.3.0-ee
        environment:
          ORACLE_SID: ORCL
          ORACLE_PDB: SAMPLE
          ORACLE_PWD: password
          ORACLE_CHARACTERSET: AL32UTF8
          ORA_SDTZ: Japan
        ports:
          - "1521:1521"
          - "5500:5500"
        volumes:
          - ./build/docker/oracle/oradata:/opt/oracle/oradata
    

  • docker container 시작

    docker-compose 명령으로 컨테이너를 시작합니다.
    이 과정에는 시간이 걸립니다. (30분 정도)
    docker-compose up -d
    

    시작을 확인할 수 있으면 빌드가 완료됩니다.
      
  • 좋은 웹페이지 즐겨찾기