오라클을 docker 이미지로 사용을 하여서 컨테이너를 띄우고 사용을 하는 법을 보고자 한다.
오라클의 경우 최신 버전에는 오토 인크리먼트 (자동 pk) 가 생겼지만 그 이전에는 시퀀스를 이용을 하였다.
그러다 보니 다른 rdbms 처럼 조금은 다르다고 생각이되어서 이 기회에 도커를 이용해서 사용을 해보기로 하였다
오라클 데이터베이스 이미지가 있는지 검색을 해보았다.
도커 허브에 올라가있는 이미지 중에 하나를 선택을 하려고 한다.
docker search oracl
찾다 보면 jaspeen/oracle-xe-11g
이 태그로 된 이미지가 있는데 필자는 이 이미지를 이용하여서 사용을 하려고 한다.
docker pull jaspeen/oracle-xe-11g
이미지의 pull
을 받고난 후 확인을 해보았다
PULL 이 완료가 되었으면 이미지가 정확히 가져왔는지 확인을 하려고 도커 이미지 리스트 업을 해보았다.
docker images
리스트업을 해본 뒤 정상적으로 이미지를 PULL 해왔다면 다음으로는 오라클 컨테이너를 띄우기 위한 커멘드를 사용을 해야한다.
아래와 같은 커멘드를 이용을 하여서 오라클 컨테이너를 띄어준다.
docker run --name oracle11g -d -p 1521:1521 jaspeen/oracle-xe-11g
위의 커멘드를 가지고 오라클 컨테이너를 띄워서 사용을 했다면 확인차 컨테이너를 리스트 업을 해준다.
docker ps
만약에 리스트에 컨테이너가 띄워서 있지 않는다면 -a
을 사용을 해서 확인을 해본다.
이 옵션의 경우 컨테이너가 실행되고 있는 것또 그리고 실행 되지 않은 컨테이너들을 모두 리스트 업 해준다.
docker ps -a
만약 위의 커멘드를 사용을 한뒤 있다면 로그를 확인을 해줘야한다.
로그를 확인하는 첫번째 이유는 우리가 컨테이너를 띄울 때 어떠한 오류로 컨테이너가 실행이 멈추었나 확인을 하기 위해서 이다
docker logs [container-id]
정상으로 컨테이너가 실행이 되었다면 이제는 컨테이너 내부에 들어가서 나머지 설정을 해주어야 한다.
여기서 사용할 명령어는 도커에서 exec
라는 커멘드가 있는데 여기다가 -it
옵션을 사용을 해준다.
docker exec -it oracle11g sqlplus
후에 들어갔다면 아이디와 비밀번호를 쓰라고 하는데 아래의 정보를 이용하면된다.
user: system
password: oracle
그리고 아래의 사진과 같이 디비버나 인텔리제이 등.. DB 와 커넥션 할수 있는 툴을 이용해서 체크를 해주면 마무리된다.