작성일자: 2024-08-27
Ver 0.1.1
0. 배경
Mac의 Apple Silicon Chip (M 시리즈) 기반 PC에는 아직 Oracle DB를 지원하지 않는다.
M1 Chip이 처음으로 탑재된 맥북 에어(2020)이 출시된 이후 다양한 소프트 웨어들이 Apple Silicon Chip 버전들을 내놓았지만,
아쉽게도 Oracle DB는 지원하지 않는다. (MYSQL은 지원을 한다.)
프로젝트를 하며 Oracle을 많이 사용하기도 하고, 범용적으로 사용되는 DB로서 개인 노트북 PC에서 학습을 하고 싶어 이리저리 방법을 알아보는 도중 Docker를 설치하고 Oracle 컨테이너를 활용하여 사용을 할 수 있다는 소식을 알게 되었다.
이에 많은 블로그들을 참고하고 검색한 끝에 알아낸 방법에 대해서 정리를 해보고자 한다.
그 과정에서 수많은 에러들과 문제들을 마주하고, 그동안 해보지 않았던 많은 것들이 있었는데, 그 내용도 정리해보도록 할 예정이며,
이번 글에서는 Docker를 설치하고 Oracle 컨테이너를 다루는 방법에 대해서 정리해보도록 하겠다.
1. 순서 요약
처음 docker와 오라클을 설치하는 하는 분은 [설치] 절차를 따르면 되고, 그 이후에 사용 시에는 [설치 이후 사용]만 따르면 된다.
단계별 자세한 내용은 상세 설명은 이어서 정리해 두도록 하겠다.
내 PC는 맥북 에어 M1 (2020)으로 colima 실행시 차이가 좀 있을 수도 있다.
[설치]
1. coilma 설치 (brew 활용) -> 2. Docker 설치 (brew 활용) -> 3. colima start -> 4. 컨테이너 확인 -> 5. 컨테이너 Run -> 6. 컨테이너 실행 확인 -> 7. DB Tool 연결 -> 8. 컨테이너 Stop 및 확인 -> 9. colima stop (선택사항)
[설치 이후 사용]
1. colima 실행 (이전에 종료했을시) -> 2. 컨테이너 Start -> 3. 컨테이너 Stop 및 확인 -> 4. colima stop (선택사항)
2. 상세 설명
[설치]
1. colima 설치
- colima는 macOS 및 Linux에서 경량의 가상화된 Docker 및 Kubernetes 환경을 제공하는 오픈 소스 소프트웨어이다. Docker Desktop의 대안으로 주로 사용되며, Docker 및 Kubernetes 컨테이너를 로컬에서 실행할 수 있습니다.
- colima는 간단한 CLI 환경에서 docker 엔진과 컨테이너들을 실행할 수 있는 역할을 한다.
- colima는 brew 를 활용해서 손쉽게 설치할 수 있다. brew가 없다면 Mac 에 brew 설치하기를 참고해서 먼저 설치 하고, 설치 이후 터미널에 다음과 같이 명령을 입력한다.
brew install colima
2. Docker 설치
Docker를 설치하는 방법은 크게 두가지가 있습니다. 아래 방법 중 원하는 방법으로 설치를 한다. 글쓴이는 2번 방법을 채택했다.
1) Docker 홈페이지에서 Docker Desktop 설치
2) CLI에서 brew를 통한 Docker 엔지만 설치
brew install docker
3. colima start
colima를 아래와 같은 환경으로 띄워준다.
의미에 대해서 요약하면 4GB의 메모리를 할당하고, x86_64 아키텍처를 사용한다는 뜻이다.
자세한 내용은 아래 내용을 참고하면 된다.
colima start --memory 4 --arch x86_64
- --memory 4는 가상화된 Docker 환경에 할당할 메모리 크기를 지정하는 옵션
- 여기서 4는 4GB의 메모리를 할당하겠다는 의미이다. Colima가 Docker를 실행할 때 이만큼의 메모리를 사용하여 가상 머신을 구동
- --arch x86_64는 가상화된 Docker 환경의 CPU 아키텍처를 지정하는 옵션
- x86_64는 64비트의 x86 아키텍처를 의미합니다. 이 아키텍처는 대부분의 현대적인 컴퓨터에서 사용되는 표준 아키텍처이다. 이 옵션을 사용하여, 특정 아키텍처에서 실행되는 이미지와 호환되도록 Docker 환경을 설정할 수 있다.
colima 실행을 하면 아래와 프로세스로 colima가 실행된다. done 단계까지 되기까지 시간은 다소 걸린다.
INFO[0000] starting colima
INFO[0000] runtime: docker
INFO[0000] starting ... context=vm
INFO[0049] provisioning ... context=docker
INFO[0054] starting ... context=docker
INFO[0059] done
4. 컨테이너 확인
docker ps
colima가 실행되고 나서, 위 코드를 입력하면 아래와 같은 화면으로 docker 컨테이너의 상태를 볼 수 있다.
docker를 처음 실행 했거나 현재 실행 중인 컨테이너가 없는 경우에는 열 이름 이외의 행이 없을 수 있다.
5. 컨테이너 실행하기
가상 환경이 준비되었으니, 이제 docker run 명령을 통해 docker 컨테이너를 실행하고 이 환경에 오라클 서버를 띄운다.
우리가 사용해야 하는 명령은 아래 형태이다. 한줄에 입력해도 되지만 '\'을 활용해 로 하나의 긴 명령을 여러줄로 입력할 수 있다.
## 방식1
docker run --restart unless-stopped --name oracle -e ORACLE_PASSWORD=pass -d -p 1521:1521 gvenzl/oracle-xe
## 방식2
docker run \
--restart unless-stopped \
--name oracle \
-e ORACLE_PASSWORD=pass \
-d \
-p 1521:1521 \
gvenzl/oracle-xe \
명령어에 사용된 docker 옵션을 설명하면 아래와 같다.
- —restart 옵션
- unless-stopped로 설정하면 재부팅 시에도 자동으로 Oracle DB가 실행된다.
- —name 옵션
- 컨테이너를 지칭하는 이름을 부여하는 옵션. 자유롭게 지정 가능하다.
- 컨테이너 ID 대신에 사용할 수 있다.
- e 옵션
- 컨테이너의 환경 변수 설정
- ORACLE_PASSWORD라는 환경변수에 앞으로 사용할 비밀번호를 할당한다. (위코드에서는 'pass')
- p 옵션
- 포트 배포 및 바인딩을 위한 옵션
- 오라클 기본 접속 포트는 1521로 사용되어 동일하게 설정했다.
- d 옵션(인자 없음)
- 컨테이너를 백그라운드에서 실행할 경우 사용
- gvenzl/oracle-xe
- 이미지 식별자. 필수요소
- 오라클 이미지를 다운로드합니다.
6. 컨테이너 실행 확인
docker ps
oracle db를 실행하는 명령어를 입력하였으니, 실제로 실행이 되고 있는지 다시한번 docker ps 명령어를 통해 확인한다.
실행시킨 컨테이너 행이 추가된 것을 확인한 뒤,
docker logs -f oracle
위 명령어로 로그를 확인했을 때, 많은 정보들 중간에 "DATABASE IS READY TO USE!"가 뜨면 성공이다.
로그 화면은 control(^) + c를 통해 나갈 수 있다.
7. DB Tool에서 연결
사용하는 DB Tool에서 Oralce 연결을 통해 가상환경 실행시 입력했던 Oracle과 계정 정보를 입력하고, Test Connection 을 눌러 Connected가 되면 이제 DB Tool에서도 Oracle을 사용할 수 있다.
추가로 연결 과정에서 팝업창으로 뜨는 Driver 다운은 해주면 된다. 아래 화면은 DBeaver에서 연결한 화면이다.
8. 컨테이너 종료 및 확인
oracle 사용 종료 후에는 가상환경을 종료시켜 주는 명령어 docker stop [컨테이너 명 or 컨테이너 ID]를 실행 시키고 잠시 기다리고 난 이후 다시 docker ps를 입력해보면 진행 중인 컨테이너가 없음을 확인 할 수 있다.
9. colima stop (선택 사항)
docker의 컨테이너는 종료되었지만, Colima는 여전히 백그라운드에서 실행 중이다.
PC의 성능에 따라 종료를 안해도 되겠지만, RAM을 확보하고 싶다면 종료를 하는 것도 하나의 방법이다.
아래의 colima stop 명령어를 입력하면 colima stop이 완료된다.
colima stop
나 같은 경우는 colima stop 이후 RAM이 20% 정도 확보되었다.
이는 선택 사항이며, colima stop 이후 다음에 다시 실행 하고자 할때는 colima start 단계부터 다시 실행을 하면 된다.
[설치 이후 사용]
1. colima start
2. 컨테이너 확인(ps) 및 start
3. 컨테이너 stop
4. colima stop (선택 사항)
3. 참고